1

在 Magento 中,我目前在站点类别 url 上没有尾部斜杠,即 www.example.com/gifts

我想将类别网址更改为带有斜杠,例如 www.example.com/gifts/

为此,我进入了管理部分,并在系统 -> 配置 -> '目录' -> 搜索引擎优化下编辑了 SEO 部分。

我在类别 URL 后缀框中添加了一个“/”。

这都是标准的,在重建索引后,该站点确实会显示所有带有斜杠的类别 URL,例如 www.example.com/gifts/

问题是,当我点击 www.example.com/gifts/ (或现在的任何类别)时,我得到一个无限重定向循环

Chrome 显示“错误 310 (net::ERR_TOO_MANY_REDIRECTS):重定向太多。”,并且在 url 上执行 CURL -I -0 会显示301 重定向Location: /gifts/

我检查了我的 htaccess 文件,绝对没有与斜杠或类别重定向相关的规则。

编辑:我也在 htaccess 上启用了日志记录,并且我不断收到如下行:

strip per-dir prefix: /var/www/blah/app-core/index.php -> index.php

这正常吗?

有没有人以前见过这个问题,或者有任何想法可能导致这个问题?

它对我来说是一个完全的障碍,所以任何见解或帮助将不胜感激。

谢谢保罗

4

2 回答 2

2

哈哈!!!对不起,这里有点生气!

终于弄明白了——我认为这可能是 Magento 1.4 中的一个错误。

在 Mage/Core/Model/Url/Rewrite.php 文件中,请求路径为:

$requestPath = trim($request->getPathInfo(), '/');

所以我对“/gifts/”的要求变成了“礼物”。Magento 然后尝试附加一个斜线,它会无限循环。

当您将 trim() 更改为ltrim()时,它可以工作。即 $requestPath = ltrim($request->getPathInfo(), '/');

现在 '/gifts/' 是 'gifts/',而 www.example.com/gifts/ 是 200!

当然,现在为了这样一个小调整而不得不扩展 Magento 是一件很痛苦的事情......

于 2012-06-28T14:49:11.160 回答
0

听起来您的 url 重写表需要重建。登录到您的管理区域并重新索引 url 重写。

于 2012-06-27T11:01:06.413 回答