2009-07-02 37 views
12

我想實現mod_rewrite把我的網站進行維護。基本上除了我們指定的一小部分IP地址外,其他所有IP地址都會被轉發到一個靜態的html頁面。mod_rewrite基於IP

請有人可以幫助這個規則。還有一種方法可以很容易地打開和關閉,而無需編輯htaccess文件?

回答

15

可以使用REMOTE_ADDR變量中的RewriteCond

RewriteCond %{REMOTE_ADDR} !^10\.0\.1\.1$ 
RewriteRule^/maintenance.html 

只要改變條件來匹配你想要的,一個以上的可以使用^的IPS(IP1 | IP2 | ... | IPN) $。

關於如何在不改變.htaccess文件的情況下禁用維護模式我認爲這不可能寫一個程序來刪除它或者修改它,一個簡單的方法就是重命名它。

+0

不要忘記在常規標記開始和結束表達。 – Gumbo 2009-07-02 11:42:01

0

您可以啓用此狀態並通過某些可以寫入.htaccess的管理界面(例如,設置爲755或777的權限)將其禁用。它總是會找到.htaccess,在開始處插入這兩行,並且在禁用維護時會刪除這兩行,使文件的其餘部分保持不變