Dinamikaj URLoj en Joomla

En enhav-administraj sistemoj, URL-oj ofte ne estas antaŭdifinitaj kaj tial ne kreitaj statike (kiel afiŝoj aŭ menueroj) anticipe, sed prefere alir-objektoj el la datumbazo. Simile al WordPress ( kiel priskribite ĉi tie ), eblas ankaŭ krei dinamikajn URL-strukturojn en Joomla (sendepende de la interna kaŝnoma sistemo). Tio atingeblas aŭ per JRouter - aŭ per ununura linio de kodo en la .htaccess-dosiero.


Unue vi kreas menueron (ekz. Kun la kaŝnomo "subdosierujo") kaj lasu ĝin montri al preta artikolo (ekz. Kun ID 1337). Tiam starigu la sekvan regulon en la .htaccess rekte post la enkonduka linio RewriteEngine On:

RewriteRule ^subfolder/([^/]*)\.html$ /index.php?option=com_content&view=article&id=1337&name=$1 [L]

Tiam vi ricevas la URL post alvoko

https://tld.com/subfolder/foo.html

la enhavo de la paĝo

https://tld.com/subfolder/?name=foo

En la supre menciita artikolo (aŭ la moduloj konektitaj al la menuero), la ĝusta URL tiam povas esti facile pridemandita per $ _GET ["nomo"]. Se vi laboras kun IIS anstataŭ Apache, vi aldonas la jenan instrukcion al la ekvivalento .htaccess (en la retejo.config):

<rule name="custom route 1" stopProcessing="true">
 <match url="^subfolder/([^/]*)\.html$" ignoreCase="false" />
 <action type="Rewrite" url="/index.php?option=com_content&amp;view=article&amp;id=1337&amp;name={R:1}" appendQueryString="false" />
</rule>
Reen