2012-08-07 6 views
0

http://no-www.org/으로 갔고 www를 제거하기 위해 코드를 복사했습니다.httpd.conf no www redirection extra/

RewriteEngine On 
RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC] 
RewriteRule ^(.*)$ http://%1/$1 [R=301,L] 

그러나 기본 URL의 끝에 슬래시가 추가로 표시됩니다.

예 : learntodancetango.com -> learntodancetango.com 좋은

www.learntodancetango.com -> learntodancetango.com// WEIRD

어떤 조언을? 진단을 돕기 위해 다른 것을 제공 할 수 있습니까? 중요한 경우 장고 사이트입니다.

감사합니다! 데이비드

편집 : 아파치의 conf이 맞다면, 아마도 장고 어떤 이유로이 일을한다 또는?

답변

1

이것은 서버 구성에 있기 때문에, 다시 쓰기 규칙이 일치하도록 시도 할 때 URI에 선행 슬래시가 있습니다. 즉, URI /은 그룹 ^(.*)$에서 일치하며 결과 타겟은 http://learntodancetango.com/ + $ 1입니다. 여기서 $ 1은 /입니다. 그래서 2 //입니다.

당신은 당신의 목표의 끝에있는 슬래시를 제거하거나 그룹의 외부 슬래시를 추가 할 수 있습니다 :

RewriteRule ^(.*)$ http://%1$1 [R=301,L] 

또는

RewriteRule ^/(.*)$ http://%1/$1 [R=301,L] 
+0

최고를! 정말 고맙습니다. 이유는 모르겠지만 두 번째 방법은 효과가 없었지만 첫 번째 방법은 효과가 없었습니다. :) –