我正在尝试强制 www
对于我的网站地址 .htaccess
:
RewriteCond %{HTTP_HOST} ^mysite\.com$ [NC]
RewriteRule ^(.*)$ http://www.mysite.coml/$1 [R=301,L]
如果我打开
mysite.com
这个工作正常 - 它添加了 www
.变成http://www.mysite.com/index.php
.但是如果我打开
mysite.com/subpage
我重定向到 http://www.mysite.com/index.php
再次,而不是 http://www.mysite.com/subpage
.但是如果我打开
http://www.mysite.com/subpage
我没有得到重定向(这是预期的行为)。我怎样才能解决这个问题?我希望将所有对我网站的请求重定向到
www
子域。
最佳答案
问题就在这里:
RewriteCond %{HTTP_HOST} ^mysite\.com$ [NC]
^
指定字符串的开头,而 $
指定结束。为了使其工作,您需要在 .com 或
.+
之后选择通配符。 .重申亚历克斯所说的话:
<IfModule mod_rewrite.c>
RewriteCond %{HTTPS} !=on
RewriteCond %{HTTP_HOST} !^www\..+$ [NC]
RewriteRule ^ http://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</IfModule>
关于apache - mod_rewrite - 添加 www,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7493241/