301er-Umleitung mit htaccess
Mal was sehr Technisches. Manche von euch surfen – aus welchen komischen Gründen auch immer – hier auf www.henning-schuerig.de oder henningschuerig.de statt auf www.henningschuerig.de.
Um diese Besucher umzuleiten, hab ich letztens folgendes in meine .htaccess geschrieben. Hab das irgendwo anders gefunden, dass das so ginge.
RewriteEngine On
RewriteCond %{HTTP_HOST} ^henning-schuerig\.de$ [NC]
RewriteRule ^(.*)$ http://www.henningschuerig.de/$1 [R=301,L]RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.henning-schuerig\.de$ [NC]
RewriteRule ^(.*)$ http://www.henningschuerig.de/$1 [R=301,L]RewriteEngine On
RewriteCond %{HTTP_HOST} ^henningschuerig\.de$ [NC]
RewriteRule ^(.*)$ http://www.henningschuerig.de/$1 [R=301,L]
Wer nun auf www.henning-schuerig.de geht, wird auch brav umgeleitet. Wer auf www.henning-schuerig.de/blog geht, leider nicht. Woran liegt das?
Am 10. März 2007 um 09:21 Uhr
Lösch mal das $-Zeichen vor [NC].
Sonst stimmt der reguläre Ausdruck nur für den Fall, dass nach dem .de nichts mehr folgt.
Am 10. März 2007 um 12:30 Uhr
Aber dann ignoriere ich ja, wo sie hinwollten, oder? Dann leite ich alle immer auf /blog/ um, auch wenn sie auf nen bestimmten Beitrag wollten, oder?
Ich hab gerade ne andere Idee. Kann es daran liegen, dass ich im /blog/-Ordner noch ne htaccess habe, wo diese RewriteRules nicht drinstehen? Muss ich die da dann auch nochmal reinschreiben?
Am 10. März 2007 um 12:15 Uhr
Hm, hab ich gemacht, scheint aber immer noch nicht zu funktionieren (oder muss man da etwas warten?). Sieht jetzt wie folgt aus:
Danke jedenfalls trotzdem schon mal.
Am 10. März 2007 um 12:27 Uhr
RewriteRule ^$ http://www.henningschuerig.de/blog/ [R=301,L]
So werden einfach alle Besucher umgeleitet, egal, wie sie hergekommen sind.
Kannst das “blog/” natürlich auch noch rausnehmen.
Am 10. März 2007 um 12:48 Uhr
Ja, so würde sie immer in den Blogordner gehen.
Wenn Du das so machst, wird immer ein “www” davor gemacht. Funktioniert auch mit Ordnerangaban hinter der URI.
RewriteEngine On
RewriteCond %{HTTP_HOST} !^$
RewriteCond %{HTTP_HOST} !^www\.henningschuerig\.de [NC]
RewriteRule (.*) http://www.henningschuerig.de%{REQUEST_URI} [R=301,L]
Am 10. März 2007 um 13:20 Uhr
Danke, Chris. Aber dein Code hat mir nur das Gleiche gebracht wie der oben im Beitrag. Erst als ich jetzt – wie zwei Kommentare vor dem hier vermutet – den Code auch in die htaccess unter /blog/ geschrieben habe, ging’s.
Das heißt, es geht jetzt. Danke euch beiden!
Am 10. März 2007 um 13:37 Uhr
Okay, dann ist ja alles bestens.
Schönen Wochenende noch!
Am 1. August 2007 um 17:17 Uhr
Benutze doch einfach eine allgemeine Form wie
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteCond %{HTTP_HOST} !^$
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
ich hatte noch keinen Fall, wo die nciht geht