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

Mau*_*uro 2 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
Run Code Online (Sandbox Code Playgroud)

问候

Mau*_*uro 7

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

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

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