【问题标题】:Reading JS cookie in .htaccess and setting redirect rules based on cookie content读取 .htaccess 中的 JS cookie 并根据 cookie 内容设置重定向规则
【发布时间】:2019-04-19 18:46:03
【问题描述】:

如何更新我在.htaccess 中的规则以正确读取用户端 cookie 并基于此重定向?

基本上我有一个名为userstate 的cookie,它的内容是我们各州的缩写。例如在这种情况下它是AL(cookie 由用户首次访问单选选项设置)现在如果设置了 cookie,我想将用户重定向到 www.domain.com/al/index.html,否则重定向到主目录为 www.domain.com/index.html

RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_COOKIE} lang=([^;]+) [NC]
RewriteRule ^(.*)$ /$1?lang=%1 [NC,L,QSA]

RewriteCond %{HTTP_COOKIE} !^.*userstate.*$ [NC]
RewriteRule .* /login-error/set-cookie-first.cgi [NC,L]

【问题讨论】:

  • 在设置名称为userstate 的cookie 时,为什么要检查lang=

标签: javascript html .htaccess


【解决方案1】:

你要么在设置 cookie 时重定向

RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_COOKIE} ^.*userstate.*$ [NC]
RewriteRule ^(.*)$ www.domain.com/al/index.html [NC,L]

或者如果你想在没有设置cookie的情况下重定向

RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_COOKIE} !^.*userstate.*$ [NC]
RewriteRule ^(.*)$ www.domain.com/index.html [NC,L]

你只需要一个。选择另一个作为标准:)

文档:

https://www.askapache.com/htaccess/htaccess-fresh/#Set_Cookie_based_Requested_directory

https://aloneonahill.com/blog/url-rewriting-for-beginners/

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-11-14
    • 2011-04-28
    • 2021-11-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多