Apache-2.2
如何拒絕某個 IP 地址,但仍顯示 Apache2 的自定義錯誤頁面?
我在我的網路根目錄
/home/www/
中有一個.htaccess
禁止 IP 地址的文件:order allow,deny deny from 1.2.3.4 deny from 2.3.4.5 allow from all ErrorDocument 500 /errors/500.htm ErrorDocument 403 /errors/403.htm
我也用錯誤語句嘗試過這種方式:
ErrorDocument 500 /home/www/errors/500.htm ErrorDocument 403 /home/www/errors/403.htm
我創建了一個錯誤目錄,
/home/www/errors
其中包含以下文件:403.htm 500.htm .htaccess
在錯誤目錄
.htaccess
中,我設置了規則:order deny,allow allow from all
如果我將我的 IP 放在根 .htaccess 文件中,我將無法瀏覽該站點。我收到一個錯誤:
禁止 - 您無權訪問此伺服器上的 /。
此外,在嘗試使用 ErrorDocument 處理請求時遇到 403 Forbidden 錯誤。
但是,如果我瀏覽到 /errors/500.htm 我可以在瀏覽器中看到該頁面,所以我知道子目錄
.htaccess
似乎允許載入這些文件。我究竟做錯了什麼?如何拒絕某個 IP 地址,但仍顯示 Apache2 的自定義錯誤頁面?
簡單地將來自被阻止 IP 的人重定向到錯誤頁面會容易得多:
RewriteCond %{REMOTE_ADDR} 1.2.3.4 RewriteRule .* /CustomError.html [R=403]