2012-09-13 151 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

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