用于重定向的Apache RewriteRule

时间:2012-08-01 09:15:53

标签: apache mod-rewrite redirect

A只想:

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?”部分缺失,我需要这个。

1 个答案:

答案 0 :(得分:0)

试试这个:

RewriteCond %{REQUEST_URI} ^vhost1.xyz.com/name1/(.+)$
RewriteRule . http://vhost2.xyz.com/name2/%1 [R=301,L]
编辑:我们需要所有的角色...不仅是点(因为我累了我犯了一个错误)。 所以(。+)代替(\。+)

EDIT2:以前主持人? (在rewriteCond中为vhost1.xyz.com) 你以前没有别名或其他重写cond吗? 如果name1不存在,那么它也是一个问题......(别名或创建一个空目录应该是一个解决方案)