2012-08-07 70 views
0

我去http://no-www.org/並複製他們的代碼剪去www。httpd.conf沒有www重定向額外/

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

但是,發生的情況是在基址的末尾有一個額外的斜線。

實施例: learntodancetango.com - > learntodancetango.com GOOD

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

任何意見?我可以提供其他任何幫助診斷嗎?如果有關係,這是一個Django站點。

感謝! 大衛

編輯:另外,如果在httpd的conf是正確的,那麼也許Django是這樣出於某種原因?

回答

1

由於這是在服務器配置中,當重寫規則嘗試與它匹配時,URI中將會有一個前導斜槓。這意味着URI /在分組^(.*)$中匹配,並且產生的目標是http://learntodancetango.com/ + $ 1,其中$ 1是/。所以2 //。

您可以刪除斜槓你的目標年底或添加分組之外的斜線:

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

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

真棒!非常感謝。我不知道爲什麼,但第二種方法不起作用,但是第一種方法。 :) – 2012-08-07 15:21:36