在内容管理系统中,URL 通常不是预先预先设定的,因此也不是像文章或菜单项那样静态创建的,而是直接访问数据库中的对象。与 WordPress 类似(详见此处),Joomla 也支持创建动态 URL 结构(独立于其内部别名系统)。这可以通过JRouter实现,也可以通过在 .htaccess 文件中添加一行代码来实现。
首先,您创建一个菜单项(例如,别名为“ subfolder”),并使其指向准备好的文章(例如,ID为1337)。 然后在介绍行RewriteEngine On之后直接在.htaccess中设置以下规则:
RewriteRule ^subfolder/([^/]*)\.html$ /index.php?option=com_content&view=article&id=1337&name=$1 [L]
然后您在调用后获得URL
https://tld.com/subfolder/foo.html
页面内容
https://tld.com/subfolder/?name=foo
在上述文章(或连接到菜单项的模块)中,您可以轻松地使用$ _GET [“ name”]查询确切的URL。 如果使用的是IIS而不是Apache,则将以下指令添加到等效的.htaccess中(在web.config中):
<rule name="custom route 1" stopProcessing="true">
<match url="^subfolder/([^/]*)\.html$" ignoreCase="false" />
<action type="Rewrite" url="/index.php?option=com_content&view=article&id=1337&name={R:1}" appendQueryString="false" />
</rule>