Je suis en train d'utiliser ce qui suit pour essayer de supprimer WWW de l'URL :
RewriteCond %{HTTP_HOST} ^example.com$ [NC]
RewriteRule (.*) http://example.com$1 [R=301]
Mais pour une raison quelconque, cela ne fonctionne pas. Des suggestions ?
Je suis en train d'utiliser ce qui suit pour essayer de supprimer WWW de l'URL :
RewriteCond %{HTTP_HOST} ^example.com$ [NC]
RewriteRule (.*) http://example.com$1 [R=301]
Mais pour une raison quelconque, cela ne fonctionne pas. Des suggestions ?
Essayez :
RewriteCond %{HTTP_HOST} ^www\.example\.com$
RewriteRule ^(.*)$ http://example.com/$1 [R=301,L]
Et sans mod_rewrite
:
ServerName www.example.com
Redirect permanent / http://example.com/
Les hôtes virtuels peuvent être utilisés en suivant les étapes de l'URL suivante : Mise en place d'un hôte virtuel dans Apache.
Comme une légère modification de la réponse de Kyle, je mettrais un / dans la condition de correspondance de RewriteRule, comme
RewriteCond %{HTTP_HOST} ^www\.example\.com$
RewriteRule ^/(.*)$ http://example.com/$1 [R=301,L]
Autrement, vous obtenez un double slash comme résultat.
http://www.example.com/smth -> http://example.com//smth
Je utiliserais toujours 307 (redirection temporaire) en premier car si vous vous trompez, certains navigateurs le mettent en cache de manière permanente. J'ai fini par installer Google Chrome juste parce que je ne pouvais pas amener mon Firefox à oublier une mauvaise redirection même lorsque j'ai supprimé tout le cache.
Voici une solution si vous ne voulez pas de nom de domaine codé en dur. N'oubliez pas de démarrer le moteur de réécriture ou cela ne fonctionnera pas!
# Démarrer le moteur de réécriture
Options +FollowSymlinks
RewriteEngine On
# Réécrire "www.example.com -> example.com"
RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
RewriteRule ^ http://%1%{REQUEST_URI} [R=301,L]
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.