我们正在尝试基于以下要点在首页上使用htaccess进行a / b测试的概念验证:
我们已经修改了代码,使其仅以首页为目标,并且成功了一半,这意味着它将仅使用第一个条件而忽略第二个条件。我不是htaccess规则的100%专家,而且过去几天我已经仔细研究了这个问题,以找出问题所在,但我觉得我正在向黑暗中的目标射击。
# ############################### #
# A/B TESTING (START) #
# ############################### #
# (1) Check if our cookie is already set.
# If so, redirect to the previously-viewed page.
RewriteCond %{HTTP_COOKIE} ab_test_vers=([^;]+)
RewriteRule ^/$ HTTPS://example.com/%1/$1 [cookie=ab_test_vers_match:true:example.com,L]
# (2) If no cookie is set (new visitor)
# AND the current time is on the first half of the minute
# Rewrite to /test-option-a AND set our cookie
RewriteCond %{HTTP_COOKIE} !ab_test_vers=([^;]+)
RewriteCond %{TIME_SEC} <30
RewriteRule ^/$ /even/$1 [cookie=ab_test_vers:even:example.com,L]
RedirectMatch 302 ^/$ HTTPS://example.com/welcome/
# (3) If no cookie is set (new visitor)
# AND the current time is on the second half of the minute
# Rewrite to /test-option-a AND set our cookie
RewriteCond %{HTTP_COOKIE} !ab_test_vers=([^;]+)
RewriteCond %{TIME_SEC} >29
RewriteRule ^/$ /odd/$1 [cookie=ab_test_vers:odd:example.com,L]
RedirectMatch 302 ^/$ HTTPS://example.com/about/
# ############################### #
# A/B TESTING (END) #
# ############################### #
应该发生的是,根据访问者访问该网站首页的时间,他们会自动重定向到两个页面之一,在这种情况下,用于概念验证的页面为/ welcome& /关于。实际情况是,它们仅被重定向到/ welcome,而第二条规则被完全忽略了。