Hallo!
Ich habe folgendes Problem:
In meiner htaccess leite ich eine url um, die eine andere url enthält
http://meinedomain.de/out/http%3A%2F%2Fdeinedomain.de%3Fparam%3D0
soll umgeleitet werden auf
http://deinedomain.de?param=0
Prinzipiell funktioniert das auch durch Vergleich von %{REQUEST_URI} in einer RewriteCond und dann mit einer RewriteRule. Das funktioniert, weil http://deinedomain.de?param=0 urlencoded ist und in der htaccess am Anfang automatisch urldecoded wird.
Wenn ich diesen Link aber per Email verschicke, urldecoden einige Anbieter die Slashes und das Fragezeichen, dann kommt bei der htaccess dies an:
http://meinedomain.de/out/http%3A//deinedomain.de?param%3D0
was dazu führt, dass die htaccess das urldecode nur auf die Request_Uri durchführt (die Request_Uri ist der Teil vor dem Fragezeichen) und den Query_String (der Teil nach dem Fragezeichen) belässt.
Dadurch wird letztenendes falsch weitergeleitet und zwar auf:
http://deinedomain.de?param%3D0
Um das zu umgehen, habe ich bereits alles möglich versucht - bisher ohne Erfolg.
Folgend Ansätze erscheinen mir am viel versprechensten, allerdings hat es bisher nicht geklappt und ich weiß nicht mehr weiter:
- Der Query_String müsste in der htaccess urldecoded werden - aber wie?
oder - Ich bräuchte die volle Request_Uri mitsamt Query_String - dafür gibt es aber meines Wissens keine htaccess-Variable, oder?
Über Hilfe würde ich mich sehr freuen.
Vielen Dank im Voraus
Micha