apache SetEnvIf访问查询字符串

时间:2014-12-18 22:09:21

标签: apache .htaccess

如何从SetEnvIf访问查询字符串? Somethig喜欢:

SetEnvIf Query_String "p=path/to/file$" got_path

更新

在htaccess中,我有:

SetEnvIf Request_URI !/folder/page1\.html$ NO_COOKIE
Header unset Cookie env=NO_COOKIE
RewriteRule (.*) /h.php?ref=$1 [L]

基本上,我要求h.php控制所有用户请求。我使用SetEnvIf允许/folder/page1.html的Cookie

然而,似乎Request_URI始终设置为" h.php"从来没有" /folder/page1.html" (也许是因为重定向)。出于这个原因,我添加了ref=$1以尝试识别它被重定向到哪个URL。因此,我需要从SetEnvIf读取查询字符串。

我希望我有所作为。

1 个答案:

答案 0 :(得分:2)

您不需要为此添加查询字符串。

您可以使用:

# always start with NO_COOKIE=1
RewriteRule ^ - [E=NO_COOKIE:1]

# unset NO_COOKIE when URI is /folder/page1.html
RewriteCond %{THE_REQUEST} /folder/page1\.html
RewriteRule ^ - [E=!NO_COOKIE]

Header set NoCookie %{NO_COOKIE}e
RequestHeader set NoCookie %{NO_COOKIE}e