2009-11-02 6 views

Répondre

5

essayer quelque chose comme ça

RewriteEngine On 
RewriteCond %{HTTP_HOST} !^www\. 
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L] 
+0

Ah, ne pas que vous pouvez utiliser la variable du serveur dans la règle de réécriture, c'est bien. –

+0

merci! pourriez-vous expliquer le code un peu. Je suis nouveau à htaccess et essayant de comprendre cela. – chris

+1

sûr, la première ligne a évidemment activé la réécriture d'URL sur Apache; la deuxième ligne vérifie si le nom d'hôte (domaine) commence par www, si ce n'est pas le cas, alors le RewriteRule est exécuté. La règle est simple - ajoute simplement www au début du nom d'hôte; R = 301 rend cette redirection permanente (pour les avantages du moteur de recherche principalement) et L signifie que c'est la dernière règle dans une chaîne (pas de RewriteRule après que celui-ci sera exécuté) –

2
RewriteEngine on 
RewriteCond %{HTTP_HOST} !^www\. 
RewriteRule ^(.*)$ http://www.yourdomain.com/$1 

Si vous voulez quelque chose de générique qui fonctionne pour tous les domaines, vous pouvez essayer quelque chose comme:

RewriteEngine on 
RewriteCond %{HTTP_HOST} !^www\. 
RewriteCond %{HTTP_HOST} ^(.+)$ 
RewriteRule ^(.*)$ http://www.%1/$1 
Questions connexes