hallo,

sitze jetzt schon seit ewigkeiten an folgendem problem und freue mich �ber jegliche hilfe (Apache 1.3 neueste version auf redhat linux):

Ich verwende folgende RewriteRule:

^([^_]*)_([^_]*)_([^_]*)_([^_]*)_([^_]*)\.html $1\.php?category=$2\&item=$3\&shop_lang=$4\&type=$5

f�r URL�s mit dem muster http://www.maskworld.com.exxs.net/display-department_152_0_german_beard.html

und sie in das muster http://www.maskworld.com.exxs.net/display-department.php?category=152&item=0&shop_lang=german&type=beard

umzuwandeln. so sieht es so aus als w�rden statische seiten aufgerufen werden -> suchmaschinen.

Um aber sessions ohne cookies und die weitergabe der sessiondaten per url-encode zu erm�glichen, wollte ich die rule eigentlich so verwenden (weil ja php dann automatisch hinter xxxx.html per fragezeichen die sessionid und die urlencodes rangh�ngt):

RewriteRule ^([^_]*)_([^_]*)_([^_]*)_([^_]*)_([^_]*)\.html\??(.*) $1\.php?category=$2\&item=$3\&shop_lang=$4\&type=$5\&$6

nur funktioniert sie nicht. Der hase liegt im fragezeichen begraben, welches ja den start des php variablenblocks anzeigt, also des query_strings. Da ich aber die url ja selbst schon rewrite habe ich ja schon hinter dem skriptnamen das fragezeichen in meiner rewriteten url. Deshalb versuche ich jetzt mit der rewrite rule das fragezeichen herauszufiltern, und die restlichen variablen (was auch immer da kommen mag) hinten nach einem weiteren &-Zeichen anzuh�ngen ($6).

Allerdings scheint mod_rewrite da ein generelles problem mit den fragezeichen bzw. deren erkennung zu haben. Eigentlich m�sste man das ? escapen (also -> \?), das zweite ? ist dann als 0 oder 1 gedacht (also f�r den fall, da� sessionid da ist oder eben auch nicht) - funktioniert auch nicht in geschweiften klammern.

Anhand der logs konnte ich jetzt absehen, da� egal wie man die rule definiert der server bei url aufrufen wie z.b. http://www.maskworld.com.exxs.net/display-department_152_0_german_beard.html?shit=5 den rewrite mit der uri http://www.maskworld.com.exxs.net/display-department_152_0_german_beard.html initialisiert. Es wird also alles hinter dem fragezeichen ignoriert? Warum das denn? Warum ist sowas nirgendwo dokumentiert? Bzw. kannst ich das beeinflussen? Es muss doch machbar sein, da� php seine zus�tzlichen variablen hinten dranh�ngen kann; OT: k�nnte man alternativ php dazu �berreden als variablenabgrenzer hinter der .php endung der files ein & zu akzeptieren? /OT Und w�rde das dann vom server/mod_rewrite nicht ignoriert?

wie ihr seht, habe ich mich schon eine weile damit besch�ftigt, aber ich komme da nicht weiter - any help is greatly appreciated.

vielen dank - gorg.



Gesendet von http://mail.yahoo.de.
3,5% Zinsen ab dem 1. EUR. Das Tagesgeldkonto mit den besten Zinsen T�glich verf�gbar.
Kostenlose Kontof�hrung. Jetzt er�ffnen! Extrakonto bei der DiBa.

Antwort per Email an