在apache配置上使用查询字符串设置引用标头

时间:2013-11-26 14:38:49

标签: apache http apache2 referrer

我需要从查询字符串中获取一个参数,并将其设置在Apache配置文件的referrer头中。 你知道这是否可能吗?

我可以对cookie做同样的事情,但我需要使用查询字符串。

setEnvIfNoCase ^Cookie$ "(referrer=\w*:\/\/\w*)" HTTP_MY_COOKIE=$1
setEnvIfNoCase HTTP_MY_COOKIE "(http:\/\/.*\.\w*)" REFERRER=$1
RequestHeader set Referer %{REFERRER}e

此致

1 个答案:

答案 0 :(得分:7)

解决方案非常简单。 setEnvIfNoCase或setEnvIf不能使用查询字符串,因此无法使用我用于cookie的相同技巧,解决方案是RewriteCond与RewriteRule的组合,如下例所示:

RewriteCond %{QUERY_STRING} referrer=(.*)
RewriteRule ^/ - [env=REFERRER:%1]
RequestHeader set Referer %{REFERRER}e

我回答了我的问题,因此具有相同问题的另一个用户(如果存在)可以找到一个起点。

相关问题