WinFuture-Forum.de: Mod_rewrite - WinFuture-Forum.de

Zum Inhalt wechseln

Nachrichten zum Thema: Entwicklung
Seite 1 von 1

Mod_rewrite


#1 Mitglied ist offline   K050V4 

  • Gruppe: aktive Mitglieder
  • Beiträge: 788
  • Beigetreten: 13. August 04
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:Stuttgart
  • Interessen:(X)HTML<br />CSS2+<br />PHP 4/5<br />MySQL 5<br />Symfony 1.2+<br />JavaScript / AJAX<br />jQuery<br />C++<br />C#<br />Java<br />...

geschrieben 09. Juli 2009 - 23:06

Hallo Leute,

ich habe da eine Frage zu mod_rewrite: Meine Zweite Regel wird gar nicht beachtet. Wieso?
Er findet zwar die erste, da ein Teil übereinstimmt, aber er soll auch die nächste kontrollieren, quasi alle durchgegehen und die letzte behandelt, die zutrifft...

DirectoryIndex index.php
RewriteEngine On

RewriteRule ^-(.*)/$ ./index.php?f=$1
RewriteRule ^-(.*)$ ./index.php?f=$1

RewriteRule ^-(.*)/(.*)_(.*)/$ ./index.php?f=$1&$2=$3
RewriteRule ^-(.*)/(.*)_(.*)$ ./index.php?f=$1&$2=$3
...



domain.de/-seite/

funktioniert...

domain.de/-seite/parameter_wert/

parameter und wert werden gar nicht mit der URL mitgegeben.

Danke im Voraus

Zitat

"In der Welt des Erkennbaren ist die Idee des Guten die höchste." - Platon

Spritify! Easy CSS-Sprite-Generator | Albanisch Deutsch Wörterbuch
0

Anzeige



#2 Mitglied ist offline   [Elite-|-Killer] 

  • Gruppe: aktive Mitglieder
  • Beiträge: 762
  • Beigetreten: 02. Oktober 05
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:Passau

geschrieben 10. Juli 2009 - 13:24

Die letzten Regeln werden nie greifen, da die erste schon einen Match haben soll:
domain.de/-seite/
domain.de/-seite/parameter_wert/
stimmen beide mit dem Muster ^-(.*)/$ überein.
Einam ist $1 dann "-seite", beim zweiten mal "-seite/parameter_wert".

Zitat

parameter und wert werden gar nicht mit der URL mitgegeben.

Meinst du &%{QUERY_STRING}?
0

#3 Mitglied ist offline   Diewie 

  • Gruppe: aktive Mitglieder
  • Beiträge: 409
  • Beigetreten: 18. Juni 06
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:Geisenhausen / München

geschrieben 10. Juli 2009 - 18:50

Einfachster Trick, die Regeln vertauschen:
DirectoryIndex index.php
RewriteEngine On

RewriteRule ^-(.*)/(.*)_(.*)/$ ./index.php?f=$1&$2=$3
RewriteRule ^-(.*)/(.*)_(.*)$ ./index.php?f=$1&$2=$3

RewriteRule ^-(.*)/$ ./index.php?f=$1
RewriteRule ^-(.*)$ ./index.php?f=$1


Oder einfach die RegExp umändern, so dass ^-(.*)/$ nicht auch -seite/parameter_wert/ matched.
DirectoryIndex index.php
RewriteEngine On

RewriteRule ^-([^/]*)/$ ./index.php?f=$1
RewriteRule ^-([^/]*)$ ./index.php?f=$1

RewriteRule ^-(.*)/(.*)_(.*)/$ ./index.php?f=$1&$2=$3
RewriteRule ^-(.*)/(.*)_(.*)$ ./index.php?f=$1&$2=$3


Viele Grüße,
Stefan

Dieser Beitrag wurde von Diewie bearbeitet: 10. Juli 2009 - 18:50

0

#4 Mitglied ist offline   K050V4 

  • Gruppe: aktive Mitglieder
  • Beiträge: 788
  • Beigetreten: 13. August 04
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:Stuttgart
  • Interessen:(X)HTML<br />CSS2+<br />PHP 4/5<br />MySQL 5<br />Symfony 1.2+<br />JavaScript / AJAX<br />jQuery<br />C++<br />C#<br />Java<br />...

geschrieben 10. Juli 2009 - 18:53

Beitrag anzeigenZitat ([Elite-|-Killer]: 10.07.2009, 14:24)

Meinst du &%{QUERY_STRING}?


Diese Paramerter + Werte werden ja in Form von .../param._wert/ übergeben. :)


Diewie

Einfach umtauschen :rolleyes:

Danke dir vielmals, eine bessere Lösung kann's gar nicht geben!

Zitat

"In der Welt des Erkennbaren ist die Idee des Guten die höchste." - Platon

Spritify! Easy CSS-Sprite-Generator | Albanisch Deutsch Wörterbuch
0

Thema verteilen:


Seite 1 von 1

1 Besucher lesen dieses Thema
Mitglieder: 0, Gäste: 1, unsichtbare Mitglieder: 0