.htaccess重定向似乎没有正确转发参数

时间:2013-11-08 14:05:20

标签: regex .htaccess mod-rewrite amazon-web-services amazon-ec2

我正在尝试将countly analytics的所有流量从子域转发到Amazon EC2域,保持所有参数完好无损,就像发送它们一样。

我在.htaccess文件中使用它:

RewriteEngine on
RewriteRule ^i(\?.+)$ http://ec2-11-111-11-11.us-west-2.compute.amazonaws.com/i?$1 [R,L,QSA]
RewriteRule ^(.*)$ http://ec2-11-111-11-11.us-west-2.compute.amazonaws.com/$1 [R,L]

这部分有效,因为进入我的子域进入Safari转发到countly web界面,并且我的应用程序中的用户会话也正在AWS上进行记录。但是,也不会转发像App Version,Screen Resolution等那样发送的参数,因为它们只是从统计数据中丢失了。

任何人都可以对此有所了解吗?

由于

1 个答案:

答案 0 :(得分:1)

您无法使用QUERY_STRING匹配RewriteRule,因此此规则对您来说并不适用:

RewriteRule ^i(\?.+)$ http://ec2-11-111-11-11.us-west-2.compute.amazonaws.com/i?$1 [R,L,QSA]

请尝试使用此代码:

RewriteRule ^i/?$ http://ec2-11-111-11-11.us-west-2.compute.amazonaws.com%{REQUEST_URI} [R,L,NE,NC]

QUERY_STRING会自动转移到重定向的网址。,除非?用作最后一个字符,以剥离任何现有的查询字符串。