无法确定发生重定向的位置
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 代码...
我不得不沿着迷宫走,直到它完全解开。
很抱歉,如果您没有访问整个网站,可能没人能回答这个问题。没想到这么难。
感谢大家的帮助!
【讨论】:
以上是关于无法确定发生重定向的位置的主要内容,如果未能解决你的问题,请参考以下文章