Dynamische URLs in Joomla

In Content-Management-Systemen stehen URLs oftmals nicht immer im Vorfeld fest und werden damit nicht vorab statisch (als Beitrag oder Menüpunkt) angelegt, sondern sprechen Objekte aus der Datenbank an. Ähnlich wie in WordPress (wie hier beschrieben) ist es auch in Joomla möglich, dynamische URL-Strukturen (unabhängig vom internen Alias-System) aufzubauen. Dabei bietet sich entweder JRouter an – oder man greift zu einem Einzeiler in die .htaccess.


Zunächst erstellt man einen Menüpunkt (z.B. mit dem Alias "subfolder") und lässt diesen auf einen vorbereiteten Beitrag (z.B. mit der ID 1337) zeigen. Anschließend setzt man in die .htaccess direkt nach der einleitenden Zeile RewriteEngine On die folgende Regel:

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

Anschließend erhält man nach Aufruf der URL

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

den Inhalt der Seite

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

Im o.g. Beitrag (bzw. den mit dem Menüpunkt verbundenen Modulen) lässt sich dann bequem mit $_GET["name"] die genaue URL abfragen. Sollte man statt Apache mit IIS arbeiten, fügt man in das Pendant zur .htaccess (in die web.config) folgende kaum längere Anweisung ein:

<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>
Zurück