Seite 1 von 1
Redirect-Problem bei Leerzeichen in der URL
Verfasst: 10.03.2008, 11:19
von ulinho
Hi zusammen,
nach langwierigen Suchen bin ich dann doch nicht um einen neuen Thread herum gekommen.
Folgendes Problem:
In den Webmaster-Tools bekomme ich eine nicht gefundene Seite mit einem Leerzeichen (%20) in der URL zurück. Ein redirect permanent, mit den Leerzeichen durch %20 ersetzt, funktioniert nicht, genauso wenig natürlich der redirect mit einem Leerzeichen.
Gibt es einen Trick, um trotzdem eine permanente Weiterleitung zu setzen?
Danke,
ulinho
Verfasst:
von
SEO Consulting bei
ABAKUS Internet Marketing Erfahrung seit 2002
- persönliche Betreuung
- individuelle Beratung
- kompetente Umsetzung
Jetzt anfragen:
0511 / 300325-0.
Verfasst: 10.03.2008, 13:49
von chris21
Leerzeichen sind leider immer etwas knifflig.
Versuche mal, eine RewriteRule mit RewriteCond einzusetzen, und dabei an der Stelle des Leerzeichens ein "\ " zu verwenden, also ein Leerzeichen, bei dem durch den Backslash die Sonderzeichenbewertung aufgehoben wird. Dies funktioniert zumindest bei mir.
Beispiel:
Code: Alles auswählen
RewriteCond %{REQUEST_URI} /ausdruck\ mit\ leerzeichen
RewriteRule (.*) http://www.example.com
Dann sollte ein Aufruf von
www.example.com/ausdruck%20mit%20leerzeichen auf die Startseite umgelenkt werden.
Verfasst: 10.03.2008, 14:07
von ulinho
Hi chris21,
hab deinen Tipp schon aus
diesem Thread in abgewandelter Form entnommen, hat aber leider auch bei mir nicht funktioniert. Ebenso die Version von oben.
Trotzdem Danke
Verfasst: 10.03.2008, 16:30
von chris21
Hhm, da müsste man mal schauen, warum das mod_rewrite-Modul auf Deinem Server/Webspace das anders handhabt als bei dem Server, wo ich es getestet habe. Vielleicht arbeitet z.B. das mod_rewrite Modul unter Apache 1.3xxx anders als unter Apache 2.0xx ? (Wobei allerdings die Seite aus dem von Dir verlinktem Thread auch auf einem Apache 2.054 liegt).
Ansonsten kannst Du auch versuchen, dass Leerzeichen über \x20 einzufangen, also
Code: Alles auswählen
RewriteCond %{REQUEST_URI} /ausdruck(\x20)mit(\x20)leerzeichen
RewriteRule (.*) http://www.example.com
Funktioniert im Test auf einem Server bei all-inkl.com ebenso wie obiger Vorschlag.
Verfasst: 10.03.2008, 17:02
von ulinho
Dieses Leerzeichen macht mich noch kirre. Diese Version funzt auch nicht, Apache ist wie im Beispiel-Thread auch 2.054
Verfasst: 10.03.2008, 17:07
von chris21
Jo, mod_rewrite kann schon verrückt machen. Besonders eben Sonderzeichen in URLs.
Als Variante hätte ich noch \u0020 statt \x20 anzubieten. Leider weiß ich eben nicht, wie Dein Apache konfiguriert ist bzgl. Charsets u.ä.
Funktioniert mod_rewrite denn sonst?
Z.B.:
Code: Alles auswählen
RewriteCond %{REQUEST_URI} /google
RewriteRule (.*) http://www.google.de
Wird da bei Aufruf von deinedomain.tld/google/ auf
www.google.de umgeleitet?
Verfasst: 10.03.2008, 19:01
von ulinho
mod_rewrite funktioniert sonst wunderbar, damit gibt's soweit keine Probleme. Die Variante mit u0020 werde ich morgen testen und hier Rückmeldung geben.
Vielen Dank für die Hilfe soweit!
Verfasst: 11.03.2008, 08:55
von ulinho
Moin!
Hab jetzt alles durch, nichts funktioniert. Mit (\x20) und nur Backslash bekommt mein Browser ne 404 zurück, mit \u0020 einen Serverfehler.
Edit: Die Lösung des Problems ist eigentlich so simpel:
redirect permanent "/url mit leerzeichen"
https://www.blubb.de/url-ohne-leerzeichen
Auf jeden Fall funzt es mit Leerzeichen, genauso mit Umlauten.
Verfasst: 11.03.2008, 13:50
von chris21
Hi,
schön, dass es funktioniert.
Das man einen Suchstring mit Anführungszeichen begrenzen kann, war mir neu (ohne die Anführungszeichen würde es ja zu einem Internal Server Error führen).
Das \u0020 führt bei mir übrigens auch zu einem Internal Server Error.
Kann es sein, dass Du auf einem Apache 1.3xx arbeitest und nicht auf einem 2.0xx ?
Anscheinend gibt es Unterschiede, ob Sonderzeichen für die interne Weiterverarbeitung escaped werden oder nicht.
Bei Umlauten habe ich z.B. gerade festgestellt, dass eine Regel wie
Code: Alles auswählen
RewriteCond %{REQUEST_URI} /sch(\ö)ner-leben.html
RewriteRule (.*) http://www.example.com [R=301]
bei Aufruf mit Firefox 2.0xx durchgeführt wird, bei Aufruf mit IE 7 aber nicht.
Das Gleiche gilt für schöner-leben.html oder sch(\xF6)ner-leben.html.
Sehr komisch.
Verfasst: 11.03.2008, 15:03
von ulinho
Apache/2.0.54 (Debian GNU/Linux)
Definitiv ne 2.0xx

Mich hat die ganze Geschichte auch ganz verrückt gemacht, aber die Weiterleitung mit der "Gänsefüßchen-Variante" funktioniert bei mir mit IE7 und FF 2.0.0.12.
Die Wege des Herrn sind unergründlich
