Veröffentlicht 29. März 200718 j Hi, habe hier ein kleines Problem mit Apache und mod_rewrite und hab auch nach langem googeln und Howtos lesen nichts zu dem Thema gefunden und meine Experimente haben auch nicht geholfen . Ich habe in einer Weiterleitung in der Ziel URL ein '#'-Zeichen. Hier mal ein Beispiel: RewriteRule ^/test http://192.168.3.10/de/test/daten#123 [NC,L] Wenn ich die Url im Browser aufrufe, geht zwar die Weiterleitung, aber das '#'-Zeichen wird durch '%23' ersetzt. Ich lande also auf der URL http://192.168.3.10/de/test/daten%23123 Wie kann ich das verhindern? Wäre für Tips sehr dankbar! Gruss dirk12345
29. März 200718 j Wenn ich die Url im Browser aufrufe, geht zwar die Weiterleitung, aber das '#'-Zeichen wird durch '%23' ersetzt. Ich lande also auf der URL Das # wird, weil es ein "aktives" Zeichen ist durch den Hex-Code ersetzt. Hast du mal probiert das Zeichen zu "escapen"? RewriteRule ^/test http://192.168.3.10/de/test/daten[B]\[/B]#123 [NC,L] Hab das nicht probiert, aber so im allgemeinen sollte das gehen.
29. März 200718 j Autor ja hätte ich evtl. noch erwähnen sollen, escapen habe ich probiert und des hat nichts gebracht, das '#' wird trotzdem durch '%23' ersetzt. Scheint so als ob man in der Ziel URL nix escapen kann... ->:confused:
29. März 200718 j Und das ganze als HTML-entity? http://192.168.3.10/de/test/daten#123 EDIT: öm... naja hier wird das automatisch umgewandelt... & #35; anstelle des # also ohne das leerzeichen EDIT2: Hier die Lösung: 'noescape|NE' (no URI escaping of output) This flag keeps mod_rewrite from applying the usual URI escaping rules to the result of a rewrite. Ordinarily, special characters (such as '%', '$', ';', and so on) will be escaped into their hexcode equivalents ('%25', '%24', and '%3B', respectively); this flag prevents this from being done. Also RewriteRule ^/test http://192.168.3.10/de/test/daten#123 [NC,NE,L] [/php]
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.