编辑:问题是该域名是在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/
答案 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”)。