Rewrite Rule festlegen

Pesti!

Lt. Commander
Registriert
März 2010
Beiträge
1.312
Ich hab mich ein bisschen festgefressenm und brauche Hilfe bei meiner .htacces-Datei.

Momentan sieht sie so aus:

Code:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^blog.nurkram.de$ [NC]
RewriteRule ^(.*) http://nurkram.de/$1 [L,R=301]

Damit bin ich jetzt die Subdomain los und man kommt auf den entsprechenden Link ohne einen 404 zu sehen. Jetzt würde ich aber gerne noch automatisch das Verzeichnis /blog aus dem Link entfernen lassen. Wie muss der Code aussehen, damit das beides zusammen funktioniert?


Kleines Beispiel:
Momentan kommt man über den Link blog.nurkram.de/LINK automatisch auf nurkram.de/blog/LINK Jetzt würde ich gerne zusätzlich dafür sorgen, dass /blog verschwindet und dort nur noch nurkram.de/LINK steht.
 
Du musst die Punkte escapen im regulären Ausdruck, ansonsten ist dort jedes Zeichen gültig (z. B. dein regulärer Ausdruck würde auch auf blog$nurkram$de greifen).

Code:
RewriteEngine On
RewriteBase /

RewriteCond %{HTTP_HOST} !^blog\.nurkram\.de$ [NC]
RewriteRule ^(.*)$ http://nurkram.de/$1 [R=301,L]

RewriteMatch 301 ^/blog/(.*)$ http://nurkram.de/$1

Die letzte Regel greif auf alle Anfragen die /blog/ am Anfang haben und antwortet mit einer 301-Umleitung auf die selbe Anfrage jedoch ohne /blog/. Z. B. http://nurkram.de/blog/foobar wird zu http://nurkram.de/foobar
 
Hm, mit dem Code scheint aber was nicht zu stimmen. Da meckert mein Hoster. Kannst ja selber ansurfen - nu geht erst mal nix.

Edit: Mehr oder weniger durch probieren hab ich es jetzt hinbekommen.

Code:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^blog.nurkram.de$ [NC]
RewriteRule ^(.*) http://nurkram.de/$1 [L,R=301]

RewriteCond %{THE_REQUEST} ^GET\ /blog/
RewriteRule ^blog/(.*) /$1 [L,R=301]

Sowohl die Subdomain blog. wird rausgenommen als auch das Verzeichnis /blog Jetzt kann man die Adresse eingeben, wie man will - sie stimmt immer.
 
Zuletzt bearbeitet:
Zurück
Oben