【问题标题】:How to properly redirect or rewrite Joomla article urls如何正确重定向或重写 Joomla 文章网址
【发布时间】:2014-05-14 11:37:51
【问题描述】:

我的一些文章页面链接到使用别名作为页面 url 的菜单项。例如:mysite.com/realurl。然而,这些文章仍然可以通过浏览器使用 mysite.com/?option=com_content&view=article&id=xx 访问,其中 xx 是文章 ID。

将所有这些 url 重定向/重写为菜单项别名、seo 友好、url 的最佳和最简单的方法是什么?

【问题讨论】:

  • 结束网址应该是什么样子?
  • 所以您希望mysite.com/?option=com_content&view=article&id=xx 被重定向到mysite/xx
  • 是的,这就是我需要的。

标签: .htaccess mod-rewrite redirect joomla


【解决方案1】:

重写url的标准方法是使用joomla路由器功能:

echo JRoute::_('index.php?option=com_content&view=article&id=xx'); 

这会调用相关组件的 router.php - 文件(此处为 com_content/router.php)

问候乔纳斯

【讨论】:

  • 如何启用那个路由器,不是默认启用的吗?
  • 是的,组件中的router.php默认开启。 com_content 的路由器检查文章是否连接到菜单项,如果是,则将菜单项别名用作 url。一篇文章也可以间接连接到一个菜单项,因为它所在的类别连接到一个菜单项。我提到 router.php - 文件的原因是您可以查看那里以确切了解您的 url 是如何生成的。
【解决方案2】:

这应该可以实现您正在寻找的东西

RewriteEngine On
RewriteCond %{THE_REQUEST} ^(GET|POST)\ /\?option=com_content&view=article&id=(.*)\ HTTP
RewriteRule ^ /%2\? [R=302,L]

RewriteRule ^([0-9]+) /?option=com_content&view=article&id=$1 [L]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-06-08
    • 1970-01-01
    • 2015-05-04
    • 2015-04-16
    • 2014-03-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多