2017-04-12 90 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 

就是這樣。