Sto usando il seguente codice per indirizzare tutte le richieste www a URL non www:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.example\.org$ [NC]
RewriteRule ^(.*)$ http://example.com/$1 [R=301,L]
Funziona benissimo all'interno di un file .htaccess nella radice del mio sito web.
Ad esempio,
www.example.com -> example.com/
www.example.com/ -> example.com/
www.example.com/other_page -> example.com/other_page
Tuttavia, se sposto questo stesso codice nella mia configurazione VirtualHost, gli URL riscritti contengono una doppia barra finale.
www.example.com -> example.com//
www.example.com/ -> example.com//
www.example.com/other_page -> example.com//other_page
L'ho risolto rimuovendo la barra dalla regola di riscrittura:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.example\.org$ [NC]
RewriteRule ^(.*)$ http://example.com$1 [R=301,L]
Ma non riesco a capire il motivo di ciò. Qualcuno sa perché?