2011-06-07 114 views
1

我一直在搜索和搜索没有成功,这个简单的htaccess从非www网址重定向到www。htaccess mod重写忽略正斜杠

我已经在该站点根htaccess的以下内容:

RewriteEngine On 
RewriteBase/

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

从我读过这应该工作,但不是HTP://domain.com/index.html要HTP:// www.domain.com/index.html,它转到htp://www.domain.comindex.html/ - 注意在.com和index.html之间忽略的正斜杠

我也尝试了以下重写条件:(不一定全部一次)

RewriteCond %{HTTP_HOST} domain.com [NC] 
RewriteCond %{HTTP_HOST} ^domain\.com$ [NC] 
RewriteCond %{HTTP_HOST} !^www.domain.com$ [NC] 

任何帮助将不胜感激。


注:域将通常的“http”,但因为URL的堆栈溢出的限制,我不得不删除“T” :)

回答

0

测试解决方案,它只是工作(在至少在我所有的生产服务器)

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

没有与变化,直到我在另一个浏览器和谷歌Chrome隐身试图和它的作品...重新启动浏览器,现在可正常工作。谢谢! – 2011-06-07 17:41:55

+0

我刚刚处理了同样的问题。这是浏览器缓存重定向,这实际上是301(永久)重定向应该做的。 – njbair 2012-01-28 20:10:20