Условное правило htaccess не работает должным образом - PullRequest
0 голосов
/ 15 октября 2019

Мы пытаемся создать концепцию проверки для / b-тестирования с использованием htaccess на домашней странице, основанную на этом гисте: https://gist.github.com/iconifyit/c8d715d62b6e3960696ac1c9cbd231c5

Мы изменили код для таргетинга только на домашнюю страницу &он работает наполовину, это означает, что он будет использовать только первое условие и игнорирует второе. Я не на 100% придерживаюсь правил htaccess, и за последние пару дней я прошел через это, чтобы выяснить, что происходит, но я чувствую, что стреляю по цели в темноте.

# ############################### #
#        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, а второе правило полностью игнорируется.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...