我的网站有两个网址:
http://sub.domain.com/
和
http://www.sub.domain.com/
我想统一网址,只使用没有www的版本。 但Google也链接到带有www的版本,这些版本链接到特定文章(路径的URL)。例如:
http://www.sub.domain.com/folder/some.html
我想重定向访问者,以便从地址中删除www前缀并保留文章路径。使用上面的示例将URL重写为:
http://sub.domain.com/folder/some.html
让我们澄清一下:
我想:
http://www.sub.domain.com -> http://sub.domain.com
和
http://www.sub.domain.com/folder/some.html -> http://sub.domain.com/folder/some.html
申请规则后:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\.sub\.domain\.com$ [NC]
RewriteRule ^(.*)$ http://sub.domain.com/$1 [R=301,L]
我明白了:
http://www.sub.domain.com -> http://sub.domain.com
^^它工作正常:))
和
http://www.sub.domain.com/folder/some.html -> http://sub.domain.com
^^它错误地工作:(
我当前的其他htaccess规则:http://pastebin.com/C74u7MGL
答案 0 :(得分:0)
将此添加到您的网络根.htaccess
目录
/
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\.sub\.domain\.com$ [NC]
RewriteRule ^(.*)$ http://sub.domain.com/$1 [R=301,L]
答案 1 :(得分:0)
我一般建议使用REQUEST_URI而不是常见的^(。*)$和$ 1:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\.sub\.domain\.com$ [NC]
RewriteRule ^ http://sub.domain.com%{REQUEST_URI} [R=301,L]
优点:
olddomain.com/path
将完全重定向到newdomain/path
。仅使用1美元olddomain.com/path/
将重定向到newdomain/path/
,但会删除缺少尾部斜杠的路径段。