2013-10-09 108 views
1

如果地址没有www,我想开始重定向站点。 例如,如果:重定向到www - htaccess

http://page.com - should redirect to http://www.page.com 
http://page.com/news/first - should redirect http://www.page.com/news/first 

我有:

RewriteCond %{HTTP_HOST} !^www\..+$ [NC] 
    RewriteRule . http://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L] 

为什么不工作?我怎样才能做到这一点?

+0

你有安装并启用了'mod_rewrite'模块?在第一个'RewriteCond'之前你还有'RewriteEngine On'吗? – PhearOfRayne

+0

是的,我也有其他的条件,但只有这不工作 – waltermadfos

+0

如果你有更多的'.htaccess'请张贴它。在这些行之前可能会出现一些问题。 – PhearOfRayne

回答

0

试试这个代码:

RewriteCond %{HTTP_HOST} !^www\. [NC] 
RewriteRule^http://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L,NE] 
+0

仍然无法正常工作。其他rewriterule工作,但这不是 – waltermadfos

+0

确保这是在'RewriteEngine On'行之后的第一条规则。 – anubhava

0

试试这个。将这些作为您的.htaccess的第一行。如果您已经有RewriteEngine on语句,请忽略它并使用最后两行。

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