W systemach zarządzania treścią adresy URL często nie są z góry ustalone i dlatego nie są tworzone statycznie (jak wpisy czy pozycje menu) z wyprzedzeniem, lecz korzystają z obiektów w bazie danych. Podobnie jak w WordPressie ( opisanym tutaj ), w Joomli można również tworzyć dynamiczne struktury adresów URL (niezależnie od wewnętrznego systemu aliasów). Można to osiągnąć za pomocą JRoutera lub za pomocą jednej linijki kodu w pliku .htaccess.
Najpierw utwórz pozycję menu (np. Z aliasem „podfolder”) i pozwól jej wskazywać na przygotowany artykuł (np. O ID 1337). Następnie ustaw następującą regułę w .htaccess bezpośrednio po linii wprowadzającej RewriteEngine On:
RewriteRule ^subfolder/([^/]*)\.html$ /index.php?option=com_content&view=article&id=1337&name=$1 [L]
Następnie otrzymasz adres URL po wywołaniu
https://tld.com/subfolder/foo.html
zawartość strony
https://tld.com/subfolder/?name=foo
W powyższym artykule (lub modułach połączonych z pozycją menu) dokładny adres URL można łatwo sprawdzić za pomocą $ _GET ["name"]. Jeśli pracujesz z IIS zamiast Apache, dodaj następującą instrukcję do odpowiednika .htaccess (w 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>