Dynamiczne adresy URL w Joomla

W systemach zarządzania treścią adresy URL często nie zawsze są ustalane z wyprzedzeniem i dlatego nie są tworzone statycznie z wyprzedzeniem (jako wkład lub pozycja menu), ale adresują obiekty z bazy danych. Podobnie jak w przypadku WordPressa ( jak opisano tutaj ), w Joomla można również budować dynamiczne struktury adresów URL (niezależnie od wewnętrznego systemu aliasów). Można tutaj użyć JRoutera - lub można użyć jednowierszowego 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