0

其中一个搜索引擎爬上了我的测试站点:new.mydomain.co.uk现在我已经完成了测试,我想将这些 URL 重定向到我使用相同扩展名的主站点。

例子:

new.mysite.co.uk/thispage/需要指向www.mysite.co.uk/thispage等等。我已经搜索并找到了一个我虽然可以实现我的目标的解决方案(复制如下),但这只是将“测试站点”指向www.mysite.co.uk而不是扩展。

这是我使用的代码:

RewriteCond %{HTTP_HOST} ^new\.mysite\.co.uk$  [NC]
RewriteRule ^(.*) http://www.mysite.co.uk/$1 [L,R=301]

我花了几个小时试图找出我做错了什么,但是在用尽自己的研究之后,我需要请专家帮助我解决这个问题。

非常感谢

4

1 回答 1

1

我建议不要在 .htaccess 中,而是在适当的 Apache 虚拟主机配置中进行。这样的事情会将 new.mysite 上的所有流量重定向到 www.mysite 并附加正确的路径:

<VirtualHost *:80>
  ServerName new.mysite.co.uk
  Redirect permanent / http://www.mysite.co.uk/
</VirtualHost>

如果您只包含“重定向”行,那么如果您不想直接编辑 apache 文件,这也适用于您的 .htaccess 文件。(除非你的新。和www。共享同一个物理文件夹)

更复杂的重写规则可能与您建议的类似:

 RewriteCond %{HTTP_HOST} ^new\.mysite\.co\.uk
 RewriteRule ^(.*)$ http://www.mysite.co.uk/$1 [R=301,L]

.uk 前加反斜杠

附言。这个问题更适合serverfault.com

于 2013-07-06T00:05:41.500 回答