【发布时间】:2014-09-25 19:49:48
【问题描述】:
我正在使用重写规则设置一个 cookie,这是有效的(为简洁起见进行了简化):
RewriteCond %{QUERY_STRING} set_cookie=1 [NC]
RewriteRule .* http://%{HTTP_HOST}%{REQUEST_URI}?skip=1 [QSA,NE,NC,L,CO=test_%{HTTP_HOST}:tmp:%{HTTP_HOST}:5:/]
这个设置了一个名为 test_{host_name} 的 cookie。现在我想在下一个请求中读取该 cookie 值。我试过这个(和一些变种),但这似乎不起作用。
RewriteCond %{QUERY_STRING} skip [NC]
RewriteCond %{HTTP_COOKIE} ^.*test_%{HTTP_HOST}=tmp.*$ [NC]
RewriteRule ^(.*)$ - [L]
当我在谷歌上搜索时,我 found an article 声明如下:
如果您想知道,“为什么不使用 %{HTTP_HOST} 而不是 corz.org, 创建通用代码?”,据我所知,无法测试 一个服务器变量对另一个服务器变量使用 RewriteCond 而不使用 原子反向引用和一些严肃的 POSIX 1003.2+ Jiggery-Pokery。
我想这是我的问题,但我不知道如何解决它。非常感谢任何帮助。
问候, 约斯特。
【问题讨论】:
标签: apache mod-rewrite cookies