Nic*_*ick 8 mod-rewrite rewrite rewritecond apache-2.2
如何使我的规则与 cookie 的确切值匹配?我试过了:
RewriteCond %{HTTP_COOKIE} ^its=me$ [NC]
RewriteCond %{HTTP_COOKIE} its=^me$ [NC]
RewriteCond %{HTTP_COOKIE} its="me" [NC]
RewriteCond %{HTTP_COOKIE} its=me [NC]
Run Code Online (Sandbox Code Playgroud)
最后一个几乎有效,但是当额外的文本位于值的末尾时匹配,例如“me2”。仅当itscookie 的确切值为 时me,条件才应为真,之前或之后没有更多内容。
这些值应不匹配:
当然可能有几个 cookie,并且它们可以被 URL 转义,这使得比较变得棘手。
在大多数情况下,这样的事情应该有效:
RewriteCond %{HTTP_COOKIE} its=([^;]+)
RewriteCond %1 ^me$
RewriteRule ......
Run Code Online (Sandbox Code Playgroud)
如果您需要对 cookie 进行转义,您可以为此添加一个重写映射:
RewriteMap unescape int:unescape
RewriteCond %{HTTP_COOKIE} its=([^;]+)
RewriteCond %{unescape:%1} ^me$
RewriteRule ......
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
25596 次 |
| 最近记录: |