J'utilise le code suivant pour diriger toutes les demandes www vers des URL non www:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.example\.org$ [NC]
RewriteRule ^(.*)$ http://example.com/$1 [R=301,L]
Cela fonctionne très bien à l'intérieur d'un fichier .htaccess à la racine de mon site Web.
Par exemple,
www.example.com -> example.com/
www.example.com/ -> example.com/
www.example.com/other_page -> example.com/other_page
Cependant, si je déplace ce même code dans ma configuration VirtualHost, les URL réécrites contiennent une double barre oblique.
www.example.com -> example.com//
www.example.com/ -> example.com//
www.example.com/other_page -> example.com//other_page
Je l'ai corrigé en supprimant la barre oblique de la règle de réécriture:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.example\.org$ [NC]
RewriteRule ^(.*)$ http://example.com$1 [R=301,L]
Mais je ne peux pas comprendre la raison de cela. Quelqu'un sait pourquoi?