在Joomla 1.7上,Joomla在别名中允许使用逗号。用于安全性的URL中包含逗号的页面上的Mod_security 404。
Gavick News Show Pro是一个在主页上列出最新新闻的模块。它为内部页面创建的链接包括我们需要剥离的逗号别名。
在Gavick代码中,它以这种方式获得链接:
$link = ($news_id !== 0) ? JRoute::_(ContentHelperRoute::getArticleRoute($news_id, $news_cid)) : JRoute::_('index.php?option=com_user&view=login');
产生如下链接:
要注意,此站点未启用SEF,并且出于安全原因,不能启用SEF。希望有人能够帮助解决我们的问题,而不是讨论我们特定的安全要求。
还有另一种获取JRoute以外的$ link的方法,不会在标题中包含这些别名吗?示例代码会很棒。谢谢!
为简化起见,此代码始终执行相同的操作:
$link = JRoute::_(ContentHelperRoute::getArticleRoute($news_id, $news_cid));
答案 0 :(得分:0)
如果没有使用SEF,则无需通过JRoute。 JRoute的重点是SEF URL。
您将代码更改为:
//Non SEF link
$ns_menuItemId = JSite::getMenu()->getActive();
$ns_link = "/index.php?option=com_content&view=article&id=$news_id&catid=$news_cid&itemid=$nbs_menuItemId";
$link = ($news_id !== 0) ? $ns_link : JRoute::_('index.php?option=com_user&view=login');