2009-06-19 8 views
3

Fondamentalement, je veux * .domain.com pour remonter domain.com/*/ (pas de redirection). Je suis allé dans la section sous-domaines de cPanel et définir un caractère générique pour ce domaine. Il semble être résolu correctement, c'est-à-dire que * .domain.com fait apparaître domain.com.Mod ReWrite Catch-All Sous-domaine

J'ai maintenant fait un fichier htaccess dans le répertoire public_html contenant:

Options +FollowSymLinks 
Options +Indexes 
RewriteEngine On 
RewriteBase/
RewriteCond %{HTTP_HOST} !www.domain.com$ [NC] 
RewriteCond %{HTTP_HOST} ^(www.)?([a-z0-9-]+).domain.com [NC] 
RewriteRule (.*) %2/$1 [L] 

L'erreur que je reçois est '500 Internal Server Error', des idées?

+0

Je ne vote pas pour fermer mais vous pouvez obtenir une meilleure réponse à cette question à serverfault.com –

+0

Des informations pertinentes dans le journal des erreurs? –

Répondre

0

Essayez cette règle:

RewriteCond %{HTTP_HOST} !^www\.example\.com$ [NC] 
RewriteCond %{HTTP_HOST} ^(www\.)?([a-z0-9-]+)\.example\.com$ [NC] 
RewriteCond %2%{REQUEST_URI} !^([^/]+)/\2 
RewriteRule (.*) %2/$1 [L] 

Le RewriteCond %2%{REQUEST_URI} !^([^/]+)/\2 addtional devrait éviter des boucles infinies causées par le drapeau L.