Comment puis-je rediriger tous les liens non-www vers des liens www? J'ai trouvé des solutions sur Internet, mais ils ne redirigent que le nom de domaine. Comment est-ce que je fais cela général: http://example.com/testing
devrait rediriger vers http://www.example.com/testing
?Comment changer .htaccess pour rediriger tous les liens non-www vers des pages www?
1
A
Répondre
5
essayer quelque chose comme ça
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
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
Ah, ne pas que vous pouvez utiliser la variable du serveur dans la règle de réécriture, c'est bien. –
merci! pourriez-vous expliquer le code un peu. Je suis nouveau à htaccess et essayant de comprendre cela. – chris
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é) –