.htaccess和HTTP_COOKIE值

时间:2013-01-25 22:03:44

标签: php apache .htaccess cakephp

在我的.htaccess文件中:
对于正确的Cookie我使用它,如果我检查是否存在cookie,那就没关系。

   RewriteCond %{HTTP_COOKIE} (my\_cookie) [NC]

但是当我尝试检查零值并使用这些选项时,它无法匹配案例:

RewriteCond %{HTTP_COOKIE} ^.*my\_cookie=0.*$ [NC]
RewriteCond %{HTTP_COOKIE} my\_cookie=0 [NC]
RewriteCond %{HTTP_COOKIE} (my\_cookie=0) [NC]

当我print_r ( $_COOKIE );时,我得到了这个:

Array
(
    [analytics] => true
    [CakeCookie] => Array
        (
            [my_cookie] => 0
            [newuser] => 1
        )
)

如何检查此案例的Cookie值?

2 个答案:

答案 0 :(得分:2)

我对句柄语言使用相同的解决方案:

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

但我检查php文件中的值。 我希望它对你有帮助;)

答案 1 :(得分:0)

经过太多的试用,这解决了我的问题:

RewriteCond %{HTTP_COOKIE} CakeCookie.*my\_cookie.*=0

我仍然不知道什么是精确的模式而不是.*
但是这个有效。