모든 www 요청을 www가 아닌 URL로 보내려면 다음 코드를 사용하고 있습니다.
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.example\.org$ [NC]
RewriteRule ^(.*)$ http://example.com/$1 [R=301,L]
이것은 내 웹 사이트의 루트에있는 .htaccess 파일에서 훌륭하게 작동합니다.
예를 들어,
www.example.com-> example.com/
www.example.com/-> example.com/
www.example.com/other_page-> example.com/other_page
그러나 동일한 코드를 VirtualHost 구성으로 이동하면 다시 작성된 URL에 이중 슬래시가 포함됩니다.
www.example.com-> example.com//
www.example.com/-> example.com//
www.example.com/other_page-> example.com//other_page
다시 쓰기 규칙에서 슬래시를 제거하여 수정했습니다.
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.example\.org$ [NC]
RewriteRule ^(.*)$ http://example.com$1 [R=301,L]
그러나 나는 그 이유를 이해할 수 없습니다. 왜 그런지 아는 사람이 있습니까?