带有通配符的子域重定向

时间:2013-07-05 23:44:50

标签: apache .htaccess redirect

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

示例:

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]

我花了几个小时试图弄清楚我做错了什么,但是我已经用尽了自己的研究,我需要请专家帮我解决这个问题。

非常感谢

1 个答案:

答案 0 :(得分: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