나는 장고로 구동되는 웹 사이트를 갖고 있으며, "표준 호스트 이름"문제를 해결하려고하고있다. www.example.com을 example.com으로 리디렉션하려고합니다. Apache documentation here에있는 두 가지 기법을 시도했습니다 (정식 호스트 이름으로 스크롤).파이어 폭스에서만 표준 호스트 이름을 리다이렉트 할 때 더블 슬래시 받기
나는 현재 mod_rewrite는 방법을 시도하고, 나는 가상 호스트 컨테이너이 있습니다
RewriteEngine on
RewriteCond %{HTTP_HOST} !^example\.com$ [NC]
RewriteCond %{HTTP_HOST} !^$
RewriteRule ^/?(.*)$ http://example.com/$1 [L,R=301,NE]
이 하나의 경우를 제외하고, 나를 위해 작동합니다. Firefox에서만 브라우저에 www.example.com
을 입력하면 리디렉션되고 URL 표시 줄에 example.com//
이 표시됩니다 (후행 슬래시 2 개가 있음).
그러나 다음과 같이 올바르게 작동합니다. www.example.com/news/
은 example.com/news/
으로 리디렉션됩니다.
Firefox의 루트 URL에만 표시됩니다. 그것은 크롬, IE9, 오페라 (어쩌면 그 브라우저는 더블 슬래시 먹는거야?)에서 Windows에서 잘 작동하는 것 같습니다. 내 Mac을 사용하는 Mac에서 Safari가 정상적으로 작동하지만 Firefox에서도 문제가 발생한다고합니다.
장고 설정에 관한 한 기본값 인 APPEND_SLASH=True
을 사용하고 있습니다. Django와 관련이 있는지는 모르겠지만 정적 HTML 사이트에서 위와 같은 mod_rewrite 규칙을 시도해 보았습니다. 항상 작동하는 것처럼 보입니다.