2012-09-13 121 views
0

我有一个.htaccess RewriteRule,如果用户没有dev cookie,将用户重定向到/coming_soon/,但由于某种原因,即使我拥有cookie,它也会重定向我。此规则昨晚正常工作,直到我添加了另一个条件以允许请求访问我的Google网站站长工具验证文件。这里是我的.htaccess的内容:为什么这个RewriteRule不工作?

RewriteEngine On 
RewriteBase/
RewriteCond %{HTTP_COOKIE} !^\dev=$ [NC] 
RewriteCond %{REQUEST_URI} !/google********.html 
RewriteRule ^(.*)$ coming_soon [QSA,L] 

说实话,我真的不明白的RewriteRules的语法和大多数的这些我只是从互联网上,这是使它真的很难调试清除。

我在本地设置cookie并验证它存在,所以有人知道我做错了什么?

回答

1

你有一个流浪反斜线:

# right hree ----------------v 
RewriteCond %{HTTP_COOKIE} !^\dev=$ [NC] 

,使得它如此它是期待一个数字而不是有一个“d”。

另请注意,这只适用于只有1个cookie,而且确切地说是dev=。你可能想扩大一点通过改变正则表达式:

​​
+0

真棒,它的工作!感谢您的洞察力。 –