Einfache URL Umleitung (mod_rewrite)
Eingetragen von grimmer (3)
am 22.03.2013 - 09:39 Uhr in
am 22.03.2013 - 09:39 Uhr in
Hallo zusammen,
ich möchte gerne URLs in der Form
http://www.example.org/test/foo/bar/ordner%2520eins/xyz.pdf
umleiten auf
http://www.example.org/test/foo/bar/ordner%20Eins/xyz.pdf
Ich möchte also nur, dass das doppelte Leerzeichen (%2520) durch ein einfaches Leerzeichen (%20) ersetzt wird.
Ich glaube ich stelle mich grad ziemlich blöde an, denn das sollte doch kein Problem sein, oder sehe ich das falsch?
Vielleicht kann mir da jemand von Euch mal eben helfen.
Was ich bisher habe und nicht funktioniert ist:
RewriteRule ^/ordner\%2520eins/$ /ordner\%20eins/ [R]
Gruß
Danke im Voraus
- Anmelden oder Registrieren um Kommentare zu schreiben
Diese Zeichen kann man
am 23.03.2013 - 18:26 Uhr
Diese Zeichen kann man -meines Wissens- nicht ohne weiteres mit Rewrite ansprechen.
Normalerweise werden Leerzeichen beim Rewrite mit \ escaped.
Wenn es also wirklich zwei Leerzeichen wären (%20%20), dann würde das hier helfen:
RewriteRule ^/ordner\ \ eins/$ /ordner\%20eins/ [R]
Hier werden die beiden Leerzeichen jeweils mit einem Escapezeichen versehen.
Das Zeichen %2520 steht aber nicht für ein doppeltes Leerzeichen, sondern für ein Leerzeichen, das doppelt encoded wurde.
Erste Maßnahme wäre also, die Stelle im Code zu finden, wo das passiert, damit tatsächlich nur %20 in der URL steht.
Hier ein Beispiel, wo das mit Apache Rewrite-Flags gelöst wurde.
http://bestsites.ro/301-redirects-for-urls-containing-spaces-or-double-e...
Das habe ich aber noch nie getestet.
Hierzu die Apache-Hilfe:
http://httpd.apache.org/docs/2.2/rewrite/flags.html#flag_ne
Dann noch eine unsaubere Möglichkeit, pfui ;-)
Da %2520 als ein Zeichen erkannt wird, kannst Du es durch ein Leerzeichen ersetzen lassen.
RewriteRule ^/ordner(.)eins%20/ordner%20eins/ [R]
Dazu mußt Du aber sicher sein, daß es keine anderen Fälle gibt, wo zwischen "ordner" und "eins" genau ein Zeichen steht.
LG Regina Oswald
-------------------------
Montviso - Internetdienstleistungen
http://www.montviso.de