.htaccess配置自定义403页面出现ERR_TOO_MANY_REDIRECTS问题求助
解决.htaccess中deny from触发403后自定义页面的问题
问题根源
- 使用绝对URL设置
ErrorDocument 403 http://mywebsite.com/403page.php时,被封禁IP访问自定义页面会再次触发deny from规则,导致无限重定向循环。 - 使用相对路径
ErrorDocument 403 /403page.php时,若自定义页面未返回正确的403状态码,Apache会同时输出默认403内容与自定义页面。
解决步骤
允许被封禁IP访问自定义页面
在deny from规则前添加以下配置,确保被拦截的IP能正常访问403page.php,避免循环:<Files "403page.php"> Order Allow,Deny Allow from all </Files>设置相对路径的ErrorDocument
保持相对路径配置,避免绝对URL的跳转问题:ErrorDocument 403 /403page.php在自定义页面中返回正确的403状态码
在403page.php的顶部添加PHP代码,强制返回403状态,消除默认403内容:<?php header("HTTP/1.1 403 Forbidden"); ?>
完整.htaccess示例
<Files "403page.php"> Order Allow,Deny Allow from all </Files> ErrorDocument 403 /403page.php # 你的封禁规则 deny from xx.xx.xx.xx deny from yy.yy.yy.yy
内容的提问来源于stack exchange,提问作者theok
相关产品推荐
相关产品推荐

