www到非www .htaccess不工作

时间:2014-06-03 15:36:41

标签: html .htaccess redirect http-status-code-301

编辑:问题是该域名是在GoDaddy购买的,但是在Endurance Internation Group托管(他们拥有Hostgator和其他一些小型网络托管服务商)。 Endurance默认情况下没有激活mod_rewrite,这就是为什么它没有工作。

我在GoDaddy上托管了这个网站,现在一切都是100%。


我有一个网站,谷歌正在索引www和非www版本。我只想要非www版本。这是我目前的.htaccess代码。底部的单个文件的301重定向工作,但顶部的www到非www代码不起作用。

我做错了什么?

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

# Redirect old file path to new file path
Redirect 301 /aboutcarytreeservice.html http://example.com/about.html
Redirect 301 /carytreeservice.html http://example.com/services.html
Redirect 301 /treeremovaldurhamnc.html http://example.com/durham.html
Redirect 301 /treeservicedurhamnc.html http://example.com/durham.html
Redirect 301 /treeremovalraleighnc.html http://example.com/

2 个答案:

答案 0 :(得分:0)

这种情况是错误的:

RewriteCond % ^www.example.com [NC]

将其更改为:

RewriteCond %{HTTP_HOST} ^www\.example\.com$ [NC]

答案 1 :(得分:0)

试试这个:

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

它会查看URL中是否有“www”并导致301重定向到相同的URL(如果不是,则添加“www”)。