我的网站是www.mysite.com,我需要将任何请求重定向到us.mysite.com。
所以:
www.mysite.com ----> us.mysite.com
www.mysite.com/hello.php ----> us.mysite.com/hello.php
// etc
我试过这个但是不起作用:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^mysite.com$
RewriteRule (.*) http://us.mysite.com$1 [R=301]
答案 0 :(得分:2)
您的RewriteCond
似乎只匹配以mysite.com
开头和结尾的域名。这不包括www.mysite.com
。
以下将301重定向不在us.mysite.com
到us.mysite.com
的任何内容:
RewriteEngine on
RewriteCond %{HTTP_HOST} !^us.mysite.com$
RewriteRule ^(.*)$ http://us.mysite.com/$1 [R=301]
答案 1 :(得分:0)
有几种不同的解决方案。从SEO和用户的角度来看,最好的是一对一的301重定向。它保留了您的链接汁,同时将客户重定向到新网站上的确切位置。
如果您启用了mod_alias,我会建议一个简单的
RedirectMatch 301 ^(。*)$ / http://new.domain.com/ $ 1 结果指令可以用
完成RewriteEngine On RewriteRule(。*)http://new.domain.com/ $ 1 [R = 301,L] 如果您需要链接多个条件和过滤器,则第二个是最佳选择。例如,如果您需要仅根据用户代理标头重定向某些主机或客户端。
来自here。