web-dev-qa-db-fra.com

Racine du document Apache / cPanel pour le sous-répertoire

Dans cPanel, je sais comment définir des racines de document pour des domaines, mais j'essaie d'avoir des racines de document différentes pour un domaine en fonction du sous-répertoire.

 URL | Racine du document 
 Example.com | home/public_html/splash 
 example.com/foo | home/public_html/pommes 
 example.com/bar | accueil/public_html/oranges 
 foo.com | home/public_html/splash 
 foo.com/foo | home/public_html/pommes 
 foo.com/bar | home/public_html/oranges 

Comme vous pouvez le constater, plusieurs domaines utilisent le même sous-répertoire => modèle de racine de document.

Des recommandations?

2
isUsername

Il y a beaucoup de façons.

Un moyen facile est via mod_rewrite d'Apache. Pour votre exemple, vous pouvez utiliser des règles et des fichiers comme suit:

Créez un fichier .htaccess dans/home/public_html/splash avec le contenu suivant:

RewriteEngine On
RewriteRule ^foo(.*)$ /apples$1 [L]
RewriteRule ^bar(.*)$ /oranges$1 [L]

Cela fonctionnera bien pour example.com et si vous pointez foo.com sur le même dossier, vous êtes prêt.

Une autre solution consiste à aller dans le shell Linux et à créer des liens symboliques nommés foo et bar à l'intérieur du dossier splash (à l'aide de la commande ln) et à les faire pointer respectivement vers/pommes et/oranges.

Et pour un moyen économique, vous pouvez créer les dossiers nommés foo and bar dans public_html et créer des fichiers d'index (index.html ou index.php par exemple) et le script afin qu'il redirige vers le bon dossier, mais cette option dépend vous faites peut ne pas répondre à vos besoins.

Donc, le meilleur des cas est la première option. Utilisez le mod_rewrite d'Apache pour mapper les queues d'URL dans des dossiers, comme je l'ai fait auparavant.

1
Mike