0

一个只想:

vhost1.xyz.com/name1/*

重定向到:

vhost2.xyz.com/name2/*

例子:

vhost1.xyz.com/name1/24ds21t31?kofs=oif.com

重定向到:

vhost2.xyz.com/name2/24ds21t31?kofs=oif.com

它总是类似于:/name1/some_number_&chars?name=url

我试过这段代码:

RewriteCond %{REQUEST_URI} ^vhost1.xyz.com/name1/$
RewriteRule . - [E=myUri:%1,E=myQuery:%2]
RewriteRule . http://vhost2.xyz.com/name2/%{ENV:myQuery} [R=301,L]

但它正在制作:

vhost1.xyz.com/name1/24ds21t31?kofs=oif.com

重定向到:

vhost2.xyz.com/name2/kofs=oif.com

所以“24ds21t31?” 部分丢失了,我需要这个。

4

1 回答 1

0

尝试这个:

RewriteCond %{REQUEST_URI} ^vhost1.xyz.com/name1/(.+)$
RewriteRule . http://vhost2.xyz.com/name2/%1 [R=301,L]

编辑:我们需要所有字符......不仅是点(我犯了一个错误,因为我累了)。所以 (.+) 而不是 (\.+)

EDIT2:与主机之前?(vhost1.xyz.com in rewriteCond) 你以前没有别名或其他重写条件吗?如果 name1 不存在,这也是一个问题......(别名或创建一个空目录应该是一个解决方案)

于 2012-08-01T09:44:33.013 回答