php - 302 重定向是如何发生的?

标签 php .htaccess magento redirect http-status-code-302

我在使用 302 重定向处理的 Magento 网站上遇到问题。如果我禁用了主题的默认博客模块,则站点/主题中的某些内容会导致 site.com/blog 链接上的 302 重定向转到主页。我正在尝试将该 url 用作 WordPress 安装的主页,但此 native 模块已劫持它,我无法找到它发生的位置。

如果模块打开,它很好并使用链接,但当您关闭它时,它会重定向。我猜这是该模块的原生功能,但出于某种原因,我似乎无法更改该行为并完全禁用它(理想情况下,如果我在博客模块关闭时收到 404 错误,那会很好,因为至少我知道该 URL 可供我使用)。

关闭该模块后,我访问了 Chrome 上的页面并在开发者工具的“网络”选项卡上收听。确实出现了 302 重定向。

HTTP/1.1 302 Moved Temporarily
Date: Sat, 08 Aug 2015 00:01:45 GMT
Server: Apache
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
X-Frame-Options: SAMEORIGIN
Set-Cookie: frontend=80cfd66318165451fa4aa2915d139404; expires=Sat, 08-Aug-2015 02:01:45 GMT; path=/; domain=www.example.com; httponly
Location: http://www.example.com/
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive
Transfer-Encoding: chunked
Content-Type: text/html; charset=UTF-8

GET /blog HTTP/1.1
Host: www.example.com
Connection: keep-alive
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.125 Safari/537.36
Accept-Encoding: gzip, deflate, sdch
Accept-Language: en-US,en;q=0.8
Cookie: _gaost=.rk=; _gaos=.gaos_r=(direct).mc=(no)|(no)|(no).gaos_k=.pc=2; __ar_v4=M5J3LQW4MFADRNVY2ORZM7%3A20150610%3A4%7CN3LC2IOELZFOVNMCXKXXWV%3A20150610%3A4%7C5DCLBJIK7FDQFMXMCEDBUU%3A20150610%3A4; frontend=80cfd66318165451fa4aa2915d139404; __utma=176154288.93372352.1432329461.1435683793.1435792914.29; __utmz=176154288.1432329461.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none); __atuvc=3%7C26%2C3%7C27%2C17%7C28; adminhtml=d90076dbca44dcccdd004d86240b9683; adminhtml=d90076dbca44dcccdd004d86240b9683; frontend=80cfd66318165451fa4aa2915d139404

我知道 302 可能是由 .htaccess 文件引起的,所以我通过 SSH 连接到服务器并使用 find 找到服务器上的所有 .htaccess 文件(并找到了 17 个),但没有一个有任何重定向会影响该页面的代码。

有什么方法可以检测 302 重定向发生的位置/原因/方式吗?这个模块/插件没有关于这个问题的文档,我到处查看甚至联系了开发人员但没有收到回复。

感谢您的帮助。

最佳答案

我发现了问题。

这与 Magento 中的“路由”有关。有一个名为 addRoute 的函数,我在服务器上执行了一个 grep 查找“addRoute”并找到了它正在发生的一堆文件。

然后我能够找到整个博客模块进行重定向的文件夹,并且只需要检查模块的逻辑并禁用其类中的一些功能。

关于php - 302 重定向是如何发生的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31888456/

相关文章:

php - PHP 中的日历

php - "Notice: Undefined variable"、 "Notice: Undefined index"、 "Warning: Undefined array key"和 "Notice: Undefined offset"使用 PHP

php - 将 clistview 中的第一个结果页面替换为静态页面

php - Magento 1.9 : How to get Subcategories of specific Category?

magento - 如何为magento安装apc缓存

php - 如何在后台运行 php 脚本而不导致浏览器显示加载动画?

php - 阻止执行上传的 php 文件?

apache - 用于 profile.php 查询的 htaccess 重写器

javascript - 从内部页面隐藏横幅 - magento

apache - 如何使用 .htaccess 拒绝访问当前目录的所有子目录?