我去了http://no-www.org/并复制了他们的代码,剪下来删除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可能出于某种原因这样做了吗?
答案 0 :(得分:1)
由于这是在服务器配置中,当重写规则尝试匹配时,URI中会出现一个前导斜杠。这意味着URI /
在分组^(.*)$
中匹配,结果目标为http://learntodancetango.com/
+ $ 1,其中$ 1为/
。所以2 //的。
您可以删除目标末尾的斜杠或在分组外添加斜杠:
RewriteRule ^(.*)$ http://%1$1 [R=301,L]
或
RewriteRule ^/(.*)$ http://%1/$1 [R=301,L]