
我負責一個在 Red Hat 4.1.2 上使用 Apache 2.0 的網站。
我已透過將此行新增至網站根目錄中的 .htaccess 檔案來配置網站以顯示自訂錯誤頁面:
ErrorDocument 403 /403.html
為了進行測試,我在網站應用程式中封鎖了自己的IP位址;這會在 .htaccess 檔案中產生類似的結果(為了簡潔起見,我編輯了清單並更改了 IP):
SetEnvIfNoCase REMOTE_ADDR "^(0\.0\.0\.1|0\.0\.0\.2|0\.0\.0\.3).*" BadIP
deny from env=BadIP
當我嘗試從“錯誤”IP 訪問該網站時,如果我嘗試獲取特定頁面(例如,http://example.com/index.html)。
但是,如果我嘗試僅獲取根目錄(例如http://example.com),然後我得到 Apache 測試頁。
有什麼方法可以讓網站的根目錄與自訂錯誤頁面一起使用?
編輯:我想我可能引起了一些混亂。澄清:
- 當我嘗試獲取根 URL 時,根頁面是不是服務;我得到的是這樣的頁面:“如果您可以閱讀此頁面,則意味著此網站上安裝的 Apache HTTP 伺服器工作正常。”所以我按預期被阻止,但我只是沒有收到 403 錯誤頁面。
- 當我嘗試獲取根目錄以下的任何內容時,我會得到自訂 403.html 頁面
更新:
我已經在較新的 Apache 版本 (2.2.25) 上嘗試過此操作。我也嘗試過沒有ErrorDocument 指示或 SetEnv 的東西。 .htaccess 檔案包含僅有的這3行:
order allow,deny
allow from all
deny from 0.0.0.0
其中 0.0.0.0 被我的實際 IP 位址取代。
結果是相同的:當獲取 example.com 時,我得到 Apache“如果你可以閱讀此”測試頁,當獲取 example.com/x 時,我得到內置的“Forbidden ...你沒有權限”訪問此伺服器上的/x”頁面。