如何使用mod_rewrite在.htaccess中测试许多cookie?
我想基于使用htaccess / mod_rewrite的两个cookie的值进行内部重定向。我不知道如何使用反向引用来检测测试cookie的两个值。这是我想要做的:
foo = value_of_cookie_foo
bar = value_of_cookie_bar
if (foo AND bar) {
RewriteRule ^(.*)$ mysite/foo/bar [R,L]
}
遗憾的是,以下代码不起作用。这是因为(根据Apache文档)反向引用仅适用于最后的RewriteCond
。第一个没有考虑在内。
RewriteCond %{REQUEST_URI} ^/whatever$
RewriteCond %{HTTP_COOKIE} cookie_foo=([^;]+) [NC]
RewriteCond %{HTTP_COOKIE} cookie_bar=([^;]+) [NC]
RewriteRule ^(.*)$ mysite/%1/%2 [R,L]
对于cookiecookie_foo=foo; cookie_bar=bar;
,上述代码重定向到http://mydomain.com/mysite/bar而不是http://mydomain.com/mysite/foo/bar。
我应该将两个饼干的测试都放在一个RewriteCond
中吗?怎么样?
没有找到相关结果
已邀请:
2 个回复
稼悸
这会将cookie_foo值放在开头,然后获取cookie_bar值。
催备南菠亨