如何在 Joomla 中生成友好的 url?

Posted

技术标签:

【中文标题】如何在 Joomla 中生成友好的 url?【英文标题】:how to generate url friendly in Joomla? 【发布时间】:2010-11-30 23:42:31 【问题描述】:

我对 joomla 1.5 友好的 url 有疑问(实际上并不那么友好) 我目前没有使用 SEF(我应该吗?)

这是我的问题

我有一些类别和部分。每个都有别名。

所以我可以查看所有新闻类别,例如访问 www.myxyz.com/news/

要检查一篇文章,生成的 url 将变为: www.myxyz.com/news/10-local-news-title-alias

我不知道 joomla 是如何生成该网址的。在我的模板中,我需要生成一些指向特定文章的链接。

所以我在模板中创建了一个助手:


// helper to get alias in mainMenu ... alias must be unique 
function getMainMenu($menuAlias)
    $items = &JSite::getMenu();
    // Get Menu Items
    $rows = $items->getItems('alias', $menuAlias);
    if($rows)
        //$result = JRoute::_(JURI::base().$rows[0]->link);
        $result= JURI::base().substr(JRoute::_($rows[0]->link), strlen(JURI::base(true)) + 1);
        return $result;
    else
        return JURI::base() ;// aka not found
    

但是当我进入像 www.myabc.com/news/7-local-news-alias 这样的页面时 网址会变得混乱并更改为错误的网址。

我应该使用 SEF 对 joomla url 友好吗?

【问题讨论】:

顺便说一句,你的“joomla”标签中的“o”太多了 【参考方案1】:

您应该只在代码中使用普通网址。当你打开 SEF joomla!将自动将您创建的所有链接转换为 SEF 网址,当收到请求时,它会将它们恢复为您的常规网址...

【讨论】:

【参考方案2】:

这有点令人费解,但链接到 SEF URL 的正确方法是使用原始的非 SEF 链接。您将需要:

文章ID 您的版块的菜单项的 Itemid(例如,链接到文章博客布局的菜单项等)

然后你只需链接到:

index.php?option=com_content&view=article&id=42&Itemid=3

其中 42 是文章 ID,3 是菜单 ID。您的链接将如下所示:

/section-alias/42-the-article-alias

如果您错过了 Itemid,您的链接将如下所示(我认为):

/components/content/42-the-article-alias

【讨论】:

以上是关于如何在 Joomla 中生成友好的 url?的主要内容,如果未能解决你的问题,请参考以下文章

Opencart 版本 1.5.1.3 安装在 IIS 7 上。如何获得 SEO 友好的 URL?

如何在 django 中生成 url

如何在列表中生成动态 url?

如何在邮件模板中生成正确的 URL?

如何在 Webpack 中生成动态导入块名称

如何在 Python 中生成 Azure blob SAS URL?