2013-02-26 131 views
0

我想檢查htaccess中cookie是否有特殊值。如果不是,我想將所有請求重定向到登錄頁面「/ login /」。這一步工作正常。如果cookie丟失,htaccess將重定向到文件夾

但現在我必須排除登錄頁面避免無休止的重定向:

RewriteCond %{HTTP_COOKIE} !cookie-name=test [NC] 
RewriteCond %{REQUEST_URI} !^/login/?$ 
RewriteRule ^(.*)$ http://%{HTTP_HOST}/login/ [NC,L] 

任何幫助,將不勝感激......

回答

0

我建議你使用的特殊值-作爲「替換」,其實際上與一樣不要做任何事情。如果用戶已經登錄頁面,這將阻止進一步的重寫處理。

我還刪除了重寫條件,該條件檢查您是否在登錄頁面上,因爲它不再需要。我還從底部重寫規則中刪除了主機名,並將其替換爲相對URL /login/,但您可能有充分理由按照自己的方式進行操作。

RewriteRule ^login/?$ - [NC,L] 

RewriteCond %{HTTP_COOKIE} !cookie-name=test [NC] 
RewriteRule ^(.*)$ /login/ [NC,L] 
相關問題