Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/magento/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.htaccess Magento类别URL无限重定向_.htaccess_Magento - Fatal编程技术网

.htaccess Magento类别URL无限重定向

.htaccess Magento类别URL无限重定向,.htaccess,magento,.htaccess,Magento,在Magento中,我目前在网站类别URL中没有尾随斜杠,即www.example.com/gifts 我想将类别URL更改为带有尾随斜杠,例如www.example.com/gifts/ 为此,我进入了管理部分,在系统->配置->目录->搜索引擎优化下编辑了SEO部分 我在分类URL后缀框中添加了一个“/” 这都是标准的,在重建索引后,网站确实会显示所有类别的URL,并带有一个尾随斜杠,例如www.example.com/gifts/ 问题是,当我点击www.example.com/gifts

在Magento中,我目前在网站类别URL中没有尾随斜杠,即www.example.com/gifts

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

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

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

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

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

Chrome说“Error 310(net::ERR_TOO_MANY_REDIRECTS):重定向太多了”,对url执行CURL-I-0显示301重定向到位置:/gifts/

我已经检查了我的htaccess文件,并且绝对没有与尾部斜杠或类别重定向相关的规则

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

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

以前有没有人见过这个问题,或者知道是什么导致了这个问题

这对我来说是一个彻底的拦路虎,所以任何洞察或帮助都将不胜感激

谢谢
Paul

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

哈哈!!!对不起,这里有点疯了

终于找到了答案——我想这可能是Magento1.4中的一个bug

在Mage/Core/Model/Url/Rewrite.php文件中,请求路径如下所示:

$requestPath = trim($request->getPathInfo(), '/');
所以我对“/gifts/”的请求变成了“gifts”。然后,Magento尝试附加一条斜线,它无限循环

将修剪()更改为ltrim()时,它会工作。即。 $requestPath=ltrim($request->getPathInfo(),“/”)

现在“/gifts/”是“gifts/”,而www.example.com/gifts/是一个200

当然,为了这么小的改动而不得不扩展Magento是一种痛苦