htaccess mod重写忽略正斜杠

时间:2011-06-07 17:32:00

标签: .htaccess mod-rewrite

我一直在搜索和搜索没有成功将这个简单的htaccess重定向从非www URL转换为www。

我在网站的root 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':)

1 个答案:

答案 0 :(得分:0)

经过测试的解决方案(至少在我的所有生产服务器上)

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