Apache-2.2
如何為 Apache RewriteRule 設置切換?
我有以下 Apache 配置,它向除我的 IP 地址之外的所有訪問者顯示 503 Service Unavailable 錯誤:
ErrorDocument 503 /503.html RewriteEngine On RewriteCond %{REMOTE_ADDR} !^127.0.0.1$ RewriteCond %{REQUEST_URI} !^/503.html$ RewriteRule .* - [R=503]
這樣我就可以在我的網站上進行維護,而不會向使用者顯示錯誤。(我使用的是我的實際 IP,不是
127.0.0.1
。)但是,要關閉或打開它,我需要註釋/取消註釋所有行,或完全刪除它。在我的另一台執行 nginx 的伺服器上,我使用了一個帶有變數的 geo 子句(如在這個問題中看到的)。所以我可以
default
從0
到1
打開它。有沒有辦法在 Apache 中做類似的事情?
如果您不想重新啟動 Apache 以更改設置(這是更改配置的要求)並且您沒有使用文件(您真的
.htaccess
不想這樣做)您可以設置我們所做的事情(通常通過我們的負載均衡器),測試維護狀態,例如通過添加測試
RewriteCond ^/maintenance.txt -f
touch maintenance.txt
維護視窗從在其他活動站點上創建一個 maintenance.txt 文件(例如,使用)開始。
查看 Debian/Ubuntu 如何配置 Apache。他們使用儲存在文件中的站點、模組和一般配置的配置摘錄,這些文件
/etc/apache2/{mod|sites|conf}-available
被符號連結到/etc/apache2/{mod|sites|conf}-enabled
以啟動它。這些*-enabled
目錄Include
在主配置文件中編輯。此外,它們還有一些a2Xen
命令a2Xdis
可以創建符號連結或刪除它以便於維護。