0
我想要阻止訪問一個文件夾,如果一個cookie未設置爲特定的值。在.htaccess中HTTP_COOKIE被視爲單個字符串?
RewriteEngine On
RewriteCond %{HTTP_COOKIE} !some-cookie-name=some-cookie-value [NC]
RewriteRule .* /some-sort-of-error/ [NC,L,R=301]
它似乎需要cookie名稱和值,並將其視爲字符串cookie-name=cookie-value
。它似乎只檢查這個字符串是否包含cookie-name=cookie-value
而不是等於。
所以在上面如果cookie名稱是foo-some-cookie-name
和/或值是some-cookie-value-foo
訪問該文件夾被授予。
這是正常的行爲還是有什麼辦法讓它完全匹配? HTTP_COOKIE
整個cookie數組作爲單個字符串連接在一起嗎?
謝謝,(^ | \ s)和(; | $)確實做了什麼? – texelate 2014-08-29 08:23:05
這是正則表達式。 '(^ | \ s)'表示匹配線的開始或空格。 '(; | $)'表示匹配';'或行結束。 – anubhava 2014-08-29 08:25:08
這個工作適合你嗎? – anubhava 2014-08-29 08:30:17