Apache 为什么除了这两个,我的其他301重定向都能正常工作?(不是查询字符串)

Apache 为什么除了这两个,我的其他301重定向都能正常工作?(不是查询字符串),apache,.htaccess,redirect,Apache,.htaccess,Redirect,我有一个超过100个重定向的列表,除了两个,几乎所有的重定向都正常工作。我正在使用htaccess 301重定向的通用格式: redirect 301 /shop/category.cfm/wall-decals http://wallcandyarts.com/wall-decals.html 就我所知,这件没什么问题。我遇到的问题有以下两个: redirect 301 /shop/product.cfm/chalkboard-wall-panels http://wallcandyarts

我有一个超过100个重定向的列表,除了两个,几乎所有的重定向都正常工作。我正在使用htaccess 301重定向的通用格式:

redirect 301 /shop/category.cfm/wall-decals http://wallcandyarts.com/wall-decals.html
就我所知,这件没什么问题。我遇到的问题有以下两个:

redirect 301 /shop/product.cfm/chalkboard-wall-panels http://wallcandyarts.com/chalkboard-decals/chalkboard-panels.html
redirect 301 /shop/category.cfm/chalkboard-decals http://wallcandyarts.com/chalkboard-decals.html
我读过关于查询字符串的问题,但这里不是这样。我还看到,当组装这个重定向列表时,如果新路径以“/”结尾,它将导致它获得与上面的重定向类似的结果。例如,点击会给你一个“混合”的URL,我不知道为什么。有什么想法吗

这是我第一次尝试使用htaccess进行如此繁重的操作,它不涉及简单的复制/粘贴,所以请原谅我的无知。希望能学到很多

谢谢

更新:这是完整的htaccess。在我加入301导演之前有很多东西。我添加的代码从第181行开始


我猜。在这两个重定向之前,您有一个规则,即将“shop”重写为“wall-deaps.html”,因此这两个不起作用的重定向甚至无法到达


不过,如果您发布完整的htaccess文件,我可以做出更好的猜测。

我的猜测。在这两个重定向之前,您有一个规则,即将“shop”重写为“wall-deaps.html”,因此这两个不起作用的重定向甚至无法到达


如果您发布了完整的htaccess文件,我可以更好地猜测。

我假设您使用的是Apache,所以我添加了“Apache”标记。我检查了列出的答案,但它们也不起作用。除非我只是在做错事。应该迁移到serverfault。com@Micah我已经回复了您对我的答案的评论。我假设您正在使用Apache,所以我添加了“Apache”标记。我检查了列出的答案,但它们也不起作用。除非我只是在做错事。应该迁移到serverfault。com@Micah我已经回复了你对我答案的评论。谢谢你的提示-我将“shop”的行移到了最后一行,但这并没有解决它。我已更新为包含指向整个.htaccess文件的链接。我刚刚再次查看了您的网站,这两个链接似乎重定向正确。感谢您的提示-我将“shop”一行移到了最后一行,但这并没有解决问题。我已更新为包含指向整个.htaccess文件的链接。我刚刚再次查看了您的站点,这两个链接似乎重定向正确。