根据查询字符串设置cookie以进行拆分测试

时间:2013-08-18 02:09:05

标签: mod-rewrite

如果检测到查询字符串,我想更新/设置cookie,以便将特定目录用于该浏览器会话或直到再次显式设置查询字符串。访问者不会看到目录,而只会看到http://mydomain.com/

这是我到目前为止所做的,但它没有按预期工作。很确定我写错了逻辑,但不确定在哪里。

RewriteCond %{QUERY_STRING} splittest=(A|B)
RewriteRule splittest=(A|B) [CO=splittest:$1:%{HTTP_HOST}:0:/,L]

RewriteCond %{QUERY_STRING} splittest=A [OR]
RewriteCond %{HTTP_COOKIE} splittest=A

# Split test A
RewriteRule ^(.*)$ A/$1 [L]
# Split test B
RewriteRule ^(.*)$ B/$1 [L]

1 个答案:

答案 0 :(得分:2)

试试这个。我假设您的.htaccess位于网络根目录/

RewriteEngine on
RewriteBase /

RewriteCond %{QUERY_STRING} splittest=A [NC]
RewriteRule ^ - [CO=splittest:A:%{HTTP_HOST}:0:/]

RewriteCond %{QUERY_STRING} splittest=B [NC]
RewriteRule ^ - [CO=splittest:B:%{HTTP_HOST}:0:/]

RewriteCond %{QUERY_STRING} splittest=A [NC,OR]
RewriteCond %{HTTP_COOKIE} splittest=A [NC]
# Split test A
RewriteRule ^(.*)$ A/$1 [L]
# Split test B
RewriteRule ^(.*)$ B/$1 [L]