无法确定发生重定向的位置

Posted

技术标签:

【中文标题】无法确定发生重定向的位置【英文标题】:Unable to figure out where redirect is occurring 【发布时间】:2012-10-02 07:16:23 【问题描述】:

我读到了一封 similar post 发自某人的邮件,他无法确定重定向发生在哪里。

他检查的主要地方是:

.htaccess
in apache in the httpd.conf
in the php file of a test page we wrote (site.com/test.php)

我也有类似的问题。他自己找到了解决方案,但不适用于我。我还尝试了其他一些建议,例如 /etc/httpd/conf/vhosts/ 无济于事。

我有一个脚本 /shop/login.php,每次我尝试访问它时都会抛出 302 重定向。

我已经检查了上面列出的主要位置,但我一生都无法弄清楚这个重定向的设置位置。

关于如何解决这个问题的任何想法?

【问题讨论】:

.htaccess 文件可能到处都是 - 您必须检查每个目录,一直到文档根目录,而不仅仅是脚本所在的目录。 在 unix 中,我运行了 locate .htaccess,然后检查了每个存在的 .htaccess 文件。它们都不包含 302。 实际上我一直在运行递归 grep 命令来寻找“redirect”和“login.php”。我什么也没找到。我也扫描了数据库,看看里面是否设置了一些东西。纳达。 :( 如果是 php 做的,它可能是通过header('Location: ...'),而不是“重定向”。标头重定向实际上可能不会列出被重定向到的脚本,具体取决于它的构建方式。 我在本地副本上搜索了“位置”。所有条目都与 login.php 脚本无关。也许我应该使用 Apache 启用 RewriteLog。那会告诉我重写发生在哪里吗? 【参考方案1】:

我发现了问题。有几个重定向。路由、操作、php 代码...

我不得不沿着迷宫走,直到它完全解开。

很抱歉,如果您没有访问整个网站,可能没人能回答这个问题。没想到这么难。

感谢大家的帮助!

【讨论】:

以上是关于无法确定发生重定向的位置的主要内容,如果未能解决你的问题,请参考以下文章

无限重定向 - nginx

302 重定向是如何发生的?

无法确定 Docker 中重定向的 https 端口

requests---重定向

无法移除 301 重定向

Asp.net core HttpsRedirectionMiddleware 无法确定重定向的 https 端口