由于最近的一个时间点(我相信因为我安装了HikaShop的付费版本),JRoute为所有新菜单项和404个错误提供了错误的SEF url。
例如,JRoute::_('index.php?Itemid=<OLD MENU ITEMID>')
返回正确的url路径/<MENU ITEM ALIAS>
(并导致NO 404错误)。。。
但是JRoute::_('index.php?Itemid=<NEW MENU ITEMID>')
返回错误的url路径/Products/<MENU ITEM ALIAS
(并导致404个错误)
无论是否使用HikaShop组件,所有新菜单项都可以看到这种行为,因此这可能与HikaShop无关。
我已经检查了HikaShop的router.php的输出,它似乎工作正常
我想进一步调试JRoute,但在Joomla3.5中找不到这个类的定义位置。Joomla 1.6和1.7 API引用了methods.php,但我找不到3.5 API 的此文件
所以不知道如何继续。。。在我整理之前,该网站无法使用。。。
原来是一个Joomla问题,它有很长的历史:新的菜单项-错误的地址。重建菜单项后,解决了路径中/Products/
的问题。