IP 重定向导致无限循环

IP 重定向导致无限循环

我正在努力将服务器从一个机器转移到另一个机器,并在今晚进行大规模代码更新。为此,我想设置重定向,以便普通网站访问者转到暂存页面。但开发人员、测试人员和客户会转到主站点。

我认为 403 重定向是实现此目的的方法。这是我使用的代码:

Order allow,deny
deny from 80.195.185.214
allow from all
ErrorDocument 403 /holding/index.html
<Files /holding/index.html>
    allow from all
</Files>

目前我只是重定向了我的 IP,我将在今晚交换它。

无论如何,问题在于我在保留页面上收到“此网页有重定向循环”。显然“允许所有人”指令未被处理。

有谁知道我可能犯了什么错误?

答案1

HTTP 响应代码 403 为“禁止访问”。这不是重定向。

错误消息“此网页存在重定向循环”表示某处发生重定向(这意味着 3xx 响应,例如 301 或 302)。您可能有一个 .htaccess 文件,或者 Apache 配置的其他部分导致重定向作为响应发送。

curl -I尝试使用或请求该页面wget -q -S -O /dev/null以准确查明正在发送的响应。

答案2

订单允许、拒绝 -> 订单拒绝、允许

http://httpd.apache.org/docs/2.2/mod/mod_authz_host.html#order

允许、拒绝 首先,评估所有允许指令;至少必须有一个匹配,否则请求将被拒绝。接下来,评估所有拒绝指令。如果有任何匹配,则请求将被拒绝。最后,任何不匹配允许或拒绝指令的请求都将被默认拒绝。

Deny,Allow 首先,评估所有 Deny 指令;如果匹配,则拒绝请求,除非该请求还匹配 Allow 指令。任何不匹配 Allow 或 Deny 指令的请求均被允许。

答案3

好的 - 现在我为了其他人回答我自己的问题。首先,两位回答者都帮助我跟踪了这​​个问题。

问题是,当使用 VirtualHosts 时,.htaccess 中的 Files 指令会被忽略,并且 Location 和 Directory 不起作用。

解决方法很简单。在您要打开的子文件夹中创建另一个 .htaccess。

相关内容