Dynamiczne adresy URL w Joomla

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&amp;view=article&amp;id=1337&amp;name={R:1}" appendQueryString="false" />
</rule>
Plecy