0

我的网站是 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]
4

2 回答 2

2

看起来您RewriteCond只匹配以 . 开头和结尾的域mysite.com。这不包括www.mysite.com.

以下将 301 重定向任何 NOT atus.mysite.comus.mysite.com

RewriteEngine on
RewriteCond %{HTTP_HOST} !^us.mysite.com$
RewriteRule ^(.*)$ http://us.mysite.com/$1 [R=301]
于 2013-04-25T20:36:51.033 回答
0

有几种不同的解决方案。从 SEO 和用户的角度来看,最好的一个是一对一的 301 重定向。它保留了您的链接汁,同时将客户端重定向到新网站上的确切位置。

如果您启用了 mod_alias,我会建议一个简单的

RedirectMatch 301 ^(.*)$ / http://new.domain.com/ $1 结果指令可以用

RewriteEngine On RewriteRule (.*) http://new.domain.com/ $1 [R=301,L] 如果您需要链接多个条件和过滤器,第二个是最佳选择。例如,如果您需要根据用户代理标头仅重定向某些主机或客户端。

这里

于 2013-04-25T20:31:26.333 回答