[MOD_REWRITE] Auflösung der URL automatisieren

muhkuh

Erfahrenes Mitglied
Sooo, ich hab gleich nochmal ne Frage zu mod_rewrite und dem auflösen von URL anhand eben dieses :)

Bisher hab ich das immer so gemacht, dass ich für jede vorkommende Möglichkeit der URL-Formatierung auch nen entsprechenden Befehl in meiner .htaccess stehen habe. Eben je nach Anzahl der Werte, die ein Script an ein anderes weiterleiten kann.

Beispielsweise können Links so aussehen:
Code:
index.html 
index_2.html
artikel_sonstiges_123.html
Die .htaccess sieht demnach so aus:
Code:
RewriteEngine On
# a
RewriteRule ^([a-z]+)$ index.php?site=$1 [L]
# a/a
RewriteRule ^([a-z]+)_([0-9]+)$ index.php?site=$1&action=$2[L]
# a/a/0
RewriteRule ^([a-z]+)_([a-z]+)_([0-9]+)$ index.php?site=$1&kategorie=$2&id=$3 [L]

Da das bei größeren Seiten und zunehmender Anzahl von Werten in der URL ein nicht mehr überblickbares Ausmaß annehmen kann ( >20 URL-Formatierungen), suche ich schon nach einer Weile nach ner Möglichkeit das ganze zu automatisieren. Eben, dass ich nur noch einen Befehl für alles brauche ;)

Beispiel:
Code:
www.domain.de/site_artikel,kategorie_sonstiges,id_123.html

Gibts da ne Möglichkeit, dass die URL von mod_rewrite analysiert wird und entsprechend aufgelöst wird? Zum Beispiel in der Richtung:
Code:
RewriteEngine On
RewriteRule ^(([a-z])_([a-z0-9]),?)+\.html$ index.php?$1[0]=$1[1](&$2[0]=$2[1]....)

Hab bisher leider nichts entsprechendes gefunden :( Neben der Möglichkeit das mit mod_rewrite zu machen, gäbe es natürlich auch die Methode die URL mit PHP auswerten zu lassen, aber mod_rewrite ist so richtig schön angenehm zu bedienen :)
 
Probier mal Folgendes:
Code:
RewriteEngine on 
RewriteRule     ^([^/_]+)_([^/,.]+)([^/.]*)(\.html)$   $3$4?$1=$2 [QSA,N]
RewriteRule     ^\.html$                               /index.php [L]
 

Neue Beiträge

Zurück