.htaccess以编码形式重定向到url

时间:2014-09-28 16:38:05

标签: php apache .htaccess mod-rewrite redirect

我正在尝试将每个网址从域名重定向到第二个域名#34;并将网址部分保留在" /"之后。

以下是我尝试做的一个例子: 当有人访问mydomain.com/any-url时 他应该被重定向到urltracker.com/events/redirect_to=http%253A%252F%252Fseconddomain.com%252Fany-url

我目前正在使用

RewriteEngine on 
RewriteRule ^(.*)$ http://urltracker.com/events/redirect_to=http%253A%252F%252Fwww.seconddomain.com%252F$1 [R=301,L]

但是这段代码会将我重定向到urltracker.com/events/redirect_to=http53A52F52Fseconddomain.com52Fany-url

每一个"%2"消失。你们可以帮我改变htaccess,这样它就不会取代%2吗? 谢谢!

编辑:我真正需要的是在" redirect_to ="之后拥有所有特殊字符。双重编码。

2 个答案:

答案 0 :(得分:0)

您可以查看:https://stackoverflow.com/a/6529394/1079254

也许您需要“AllowEncodedSlashes On”,因为我认为您的'redirect_to'参数中的斜杠会出现问题。

答案 1 :(得分:0)

我想我会尝试在PHP中完成它。我设法通过使用" \"将字符保持为双重编码形式,问题是我想要" any-url"部分只有斜线双重编码,而不是每个特殊字符。目前,它会对每个特殊字符进行双重编码,我不认为我可以选择某种方式来编码斜杠。