2017-04-12 92 views
0

我想我非www网站重定向到其WWW版本,为此我把下面的代码在.htaccess在我的网站的根文件夹:301从非www重定向到www版本

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

但问题是,所有这些配置后试图访问它时,我得到这个错误:

的网页没有正确重定向

两个我的网站的www和非www地址不起作用。

该代码有什么问题吗?

+0

如果您删除该代码,该网站是否正常工作(无论是www还是非www)?您发布的代码没有任何问题。您是否使用了也重定向的某种CMS?检查浏览器中的网络流量,你看到了什么重定向? – MrWhite

回答

0

这种情况出现在承载多个域的服务器上。大多数这样的服务器是共享主机或经销商类型的主机安排。使用下面的代码:

RewriteEngine on 
RewriteCond %{HTTP_HOST} ^www\.(([a-z0-9_]+\.)?example\.com)$ [NC] 
RewriteRule .? http://%1%{REQUEST_URI} [R=301,L] 

I've found the solution here

+0

此代码与您在问题中提出的问题相反,并且从www重定向到非www。 (?)这是否是必要的(甚至是有效的)取决于如何实施“多个域”。但是在你的问题中,你没有提及_multiple domains_。即使你有多个域名,单独你的问题中的代码也不应该导致这个错误。但该网站的www版本应该仍然有效?所以,我认为这个问题比第一次出现更多...? – MrWhite

0

你可能会认为与redirect.center另一种方法,只是改变你的DNS区域与此登记:

example.com A 54.84.55.102 
redirect.example.com CNAME www.example.com.opts-uri.redirect.center 

就是这样。