PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : mod_rewrite: Zeichen ersetzen



chris@online
20.06.06, 13:15
Hallo!

Ist es möglich (wenn ja, wie :) ), in einer ReWrite-Rule z.B. ALLE Slashes (/) durch ein & zu ersetzen? Da keine feste Anzahl von / in der URL vorkommt, kann ich das leider nicht statisch machen, sondern muss irgendwie ALLE Vorkommen finden und ersetzen.

Die URL myscript/test/var1/var2 sollte also ersetz werden durch mysscript&test&var1&var2 (da aber "unendlich" viele / vorkommen können, reicht ein RewriteRule ^([^\/]+)/([^\/]+)/([^\/]+)/$ $1&$2&$3 leider nicht aus ...)

Hoffe, Ihr versteht und könnt helfen.

Gruß und Dank!

marce
20.06.06, 13:40
dürfte auf jeden Fall machbar sein über ein ext. Script und die RewriteMap Directive (http://httpd.apache.org/docs/2.0/mod/mod_rewrite.html#rewritemap) - evtl. geht's auch einfacher, bin aber zu faul gerade :-)

chris@online
20.06.06, 13:48
Dankeschön :)

Da ich auf dem Server eine Menge Last erwarte, möchte ich ungern noch den Apachen auf extra Files zugreifen lassen. Oder kann ich die Map auch so einfach definieren ohne extra File?

marce
20.06.06, 13:55
dann vielleicht einfach eine "hinreichend große Anzahl" vordefniieren und hoffen - oder es über die Applikation machen...

chris@online
20.06.06, 14:01
hm ... na sowas find ich auch doof (zumal ja die Backreference auch nur auf 10 Stück begrenzt ist). Dann eher gar nicht rewriten und eben die standard ? und & Geschichte ...

ldi91
20.06.06, 18:50
http://de.selfhtml.org/servercgi/server/rewrite.htm

marce
21.06.06, 11:45
@ldi91: Aha. Und was bringt uns das nun neue Erkenntnisse?