0

我有一个 .htaccess RewriteRule 将用户重定向到/coming_soon/如果他们没有devcookie,但由于某种原因,即使我有 cookie,它也会重定向我。这条规则昨晚正常工作,直到我添加了另一个条件以允许对我的 Google 网站管理员工具验证文件的请求通过。这是我的 .htaccess 的内容:

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

老实说,我并不真正了解 RewriteRules 的语法,其中大部分是我从互联网上搜索的,这使得调试变得非常困难。

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

4

1 回答 1

1

你有一个杂散的反斜杠:

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

这使得它期待一个数字而不是“d”。

另请注意,这仅适用于只有 1 个 cookie 且恰好是dev=. 您可能希望通过将正则表达式更改为:

RewriteCond %{HTTP_COOKIE} !dev=(.*) [NC]
于 2012-09-13T00:15:28.557 回答