Apache-2.2

如何為 Apache RewriteRule 設置切換?

  • March 29, 2016

我有以下 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 子句(如在這個問題中看到的)。所以我可以default01打開它。

有沒有辦法在 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可以創建符號連結或刪除它以便於維護。

引用自:https://serverfault.com/questions/766580