RewriteRule
Jnnbo
- webserver
Moin,
RewriteRule ist für mich wie ein Buch mit sieben Siegeln. In meiner Datei steht folgendes:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php
RewriteRule projekt/([^/]*)(.*)$ detail.php [l]
Mit diesen Zeilen erreiche ich, dass ich ein Projekt so aufrufen kann: /projekt/test-update
Jetzt möchte ich noch eine Stufe weiter runter gehen und zwar: /projekt/test-update/xyz
RewriteRule projekt/([^/]*)(.*)/([^/]*)(.*)$ benefits-detail.php [l]
Der Eintrag wird absolut nicht berücksichtigt. Ich verstehe allerdings wie oben schon geschrieben die RewriteRule überhaupt nicht. Könnt ihr mir vielleicht auf die Sprünge helfen?
Moin,
hab etwas gebastelt und so schneit es zu funktionieren, ob es natürlich richtig ist, kann ich nicht sagen:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php
RewriteRule projekt/([^/]*)$ detail.php [l]
RewriteRule projekt/([^/]*)/([^/]*)(.*)$ benefits-detail.php [l]
Moin
> RewriteRule projekt/([^/]*)(.*)$ detail.php [l]
>
OK, schauen wir mal. Diese Rule sagt das "projekt/" gefolgt von einem String der kein "/" enthalten darf, gefolgt von irgend einer Zeichenkette auf detail.php umleitet
Also auch "/projekt/test-update/xyz". Denn dies entspricht auch dieser Regel.
> RewriteRule projekt/([^/]*)(.*)/([^/]*)(.*)$ benefits-detail.php [l]
>
Hier möchtest du "projekt/" gefolgt von einem String der kein "/" enthalten darf, gefolgt von irgend einer Zeichenkette gefolgt von einem "/" gefolgt von einem String der kein "/" enthalten darf, gefolgt von irgend einer Zeichenkette umleiten zu benefits-details.php
Versuchs mal so:
# zuerst die qualifiziertere Regel
RewriteRule projekt\/([^/]*)\/([^/]*)$ benefits-detail.php [L]
# dann die gröbere Regel
RewriteRule projekt/([^/]*)$ detail.php [L]
das [L] steht übrigens für Last (letzte Regel) nach dem Umleiten dreht hier das ganze noch eine Runde. Jedoch ohne Eingreifen der Regeln, da nicht mehr gültig.
Wenn dies nicht die gewünschte Lösung sein sollte, musst du nochmal bissl näher erklären was du bezweckst.
Gruß Bobby