.htaccess 为什么这条规则不起作用?
我有一个.htaccess重写规则,如果用户没有.htaccess 为什么这条规则不起作用?,.htaccess,mod-rewrite,cookies,url-rewriting,.htaccess,Mod Rewrite,Cookies,Url Rewriting,我有一个.htaccess重写规则,如果用户没有devcookie,它会将用户重定向到/coming\u soon/,但出于某种原因,即使我有cookie,它也会将我重定向。这条规则昨晚运行正常,直到我添加了另一个条件,允许对我的谷歌网站管理员工具验证文件的请求通过。以下是my.htaccess的内容: RewriteEngine On RewriteBase / RewriteCond %{HTTP_COOKIE} !^\dev=$ [NC] RewriteCond %{REQUEST_URI
dev
cookie,它会将用户重定向到/coming\u soon/
,但出于某种原因,即使我有cookie,它也会将我重定向。这条规则昨晚运行正常,直到我添加了另一个条件,允许对我的谷歌网站管理员工具验证文件的请求通过。以下是my.htaccess的内容:
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_COOKIE} !^\dev=$ [NC]
RewriteCond %{REQUEST_URI} !/google********.html
RewriteRule ^(.*)$ coming_soon [QSA,L]
老实说,我并不真正理解重写规则的语法,其中大部分我只是从互联网上搜集的,这使得调试变得非常困难
我在本地设置了cookie并验证了它的存在,所以有人知道我做错了什么吗?您有一个错误的反斜杠:
# right hree ----------------v
RewriteCond %{HTTP_COOKIE} !^\dev=$ [NC]
这使得它在那里期望一个数字而不是一个“d”
还要注意的是,只有当只有一个cookie并且它正好是dev=
时,这才有效。您可能希望通过将正则表达式更改为:
RewriteCond %{HTTP_COOKIE} !dev=(.*) [NC]