2012-05-19 5 views
0

Dans mon dossier racine, j'ai un répertoire personnel. J'aimerais que toutes les demandes pour mydomain.com ou www.mydomain.com soient transmises à home.mydomain.com. Dans mon cPanel, j'ai déjà configuré le sous-domaine home.mydomain.com pour qu'il pointe vers mydomain.com/home.Utilisation du fichier .htaccess pour rediriger vers un sous-domaine

Voici ce que j'ai actuellement dans mon fichier .htaccess:

RewriteEngine On 
Options +SymLinksIfOwnerMatch 
RewriteRule ^(.*)$ \/home\/$1 [L] 

Ce transmet avec succès mydomain.com et www.mydomain.com à mydomain.com/home ou www.mydomain.com/home, respectivement . Mais home.mydomain.com/filename me donne une erreur de serveur interne, au lieu de servir le fichier sur mydomain.com/home/filename.

Répondre

1

Je ne suis pas sûr que je comprends les exigences exactes, mais il semble que vous voulez réécrire tous (www.) Mydomain.com requêtes au répertoire/home alors que votre sous-domaine home.mydomain.com déjà points que répertoire et devrait donc être exempt de cette directive de réécriture. Si pour une raison quelconque (www.) Mydomain.com ne peut pas être mis en place pour pointer vers/home aussi bien, vous auriez besoin d'une condition Rewrite, quelque chose comme

RewriteEngine On 
Options +SymLinksIfOwnerMatch 
RewriteCond %{HTTP_HOST} ^(www\.)?mydomain\.com$ [NC] 
RewriteRule ^(.*)$ /home/$1 [L] 

J'ai aussi retiré les anti-slash qui ne devrait pas être nécessaire. Vous pouvez utiliser le htaccess tester pour vérifier facilement les règles de réécriture en ligne.

+0

Merci pour le lien extrêmement utile! –

Questions connexes