将一个TLD +单个目录的所有页面重定向到另一个TLD的根目录

时间:2017-04-05 14:09:31

标签: php apache .htaccess redirect http-status-code-301

Redirect all pages of one TLD to another中,有一个明确的示例,说明如何从一个TLD的根目录重定向到另一个TLD的根目录。但我想添加一个重写条件&规则到我的.htaccess文件,它将执行以下重定向...

www.example.com/one  -->  www.example.co.uk
www.example.com/one/two  -->  www.example.co.uk/two
www.example.com/one/two/three  -->  www.example.co.uk/two/three

所以基本上它会将URL重定向到更改TLD的路径,并删除路径中的第一个目录(/ one)。

1 个答案:

答案 0 :(得分:1)

所以这样的事情应该在www.example.com

的vhost中
 RewriteEngine On
 RewriteRule ^/one(.*) www.example.net/$1 [R=301,L]

R=301使浏览器缓存答案并将下一个请求直接发送到相应的URL。在测试时清除缓存;)

或者,如果您不想让请求者看到他被重定向:

 RewriteRule ^/one(.*) www.example.net/$1 [P,L]

这需要激活mod_proxy模块。

一个旁注:plz在示例中使用example.com,因为domain无法使用;)