我想使用htaccess/mod_rewrite根據兩個cookie的值進行內部重定向。我不知道如何使用反向引用來引用測試cookie的兩個值。這是我想要做的:如何使用mod_rewrite在.htaccess中測試許多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]
對於餅乾cookie_foo=foo; cookie_bar=bar;
上述代碼重定向到http://mydomain.com/mysite/bar代替http://mydomain.com/mysite/foo/bar。
我是否應該將兩個cookie的測試放在一個RewriteCond
?怎麼樣?
這一個伎倆!此外,Cookie的順序並不重要。謝謝! – pete 2011-04-11 23:23:36
我該如何爲4個餅乾做這項工作? – Stefan 2013-08-09 17:28:43