Einige Beispiele wie sie Anhand des Moduls “Mod_Rewrite” auf dem Apache-Webserver Domains, Einzelseiten (URLs) oder ganze Ordner weiterleiten, oder eine Standarddomain festlegen können. Mod_Rewrite muss auf dem Apache-Webserver aktiviert sein und eine .htaccess-Datei muss angelegt werden.

Eine Standard-Domain festlegen:

Aus domain.de wird www.domain.de

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

Aus www.domain.de wird domain.de

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

Alte Domain auf neue Domain weiter leiten:

Aus altedomain.de wird www.neuedomain.de

RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.altedomain\.de$ [NC]
RewriteRule ^(.*)$ http://www.neuedomain.de/$1 [L,R=301]

Einzelseite weiter leiten:

Hierdurch können sie innerhalb ihrer Domain Urls umleiten. Aus ./ichbinalt.php wird ichbinneu.php

RewriteEngine On
RewriteRule ^ichbinalt\.php$ /ichbinneu.php [R=301,L]

Einzelseite auf andere Domainein weiter leiten:

Hierdurch können sie Einzelseiten auf eine Seite einer andern Domain weiter leiten.

RewriteEngine On
RewriteRule ^ichbinalt\.html$ http://www.ndomain.de/neu.html [R=301,L]

Bestimmte IPs oder IP Bereiche, bestimme Useragenten ausperren

Im folgenden Beispiel sperren wir alle Aufrufe vom IP Bereich 192.* aus und senden eine 403 Forbidden Fehlermeldung an den Clienten (Browser):

RewriteEngine on
RewriteCond %{REMOTE_ADDR} ^.192.
RewriteRule ^.* - [F]

Sehr hilfreich wenn wir bestimmte Aufrufe von einem User Agenten untersagen möchten. So können wir z.B. Spambots von unseren Webseiten fernhalten und eine 403 Forbidden Fehlermeldung senden

RewriteEngine on
RewriteCond %{HTTP_USER_AGENT} ^.*adressendeutschland.*$
RewriteRule ^.* - [F]

Auf die Fileendung .html Umschreiben

Beispiel: index.php -> index.html Ein sehr einfaches Beispiel wie wir eine dynamische Webseite im Browser, also beim Clienten als Statische .html Seite darstellen:

RewriteEngine on
RewriteBase /
RewriteRule index.html$ index.php

Möchten wir dies nicht für jede PHP Datei manuell erledigen können wir auf die Regex zurückgreifen und einfach alle Aufrufe die an eine .html Datei gehen auf die .php umschreiben:

RewriteEngine on
RewriteBase /
RewriteRule ^(.*).html$ $1.php

Wenn unsere Seitenaufrufe über sogenannte Seiten IDs erfolgen können wir auf eine etwas exaktere Regex zurückgreifen die nur auf Zahlen reagiert:

RewriteEngine on
RewriteBase /
RewriteRule ^index([0-9]+).html$ index.php?id=$1

Abschliessendes „/“ zu allen URL hinzufügen

RewriteEngine On
RewriteBase /
rewriteCond $1 !/$
rewriteCond %{REQUEST_FILENAME}/ -d
rewriteRule (.+) http://www.mydomain.de/$1/ [R=301,L]

Anlegen einer .htaccess Datei

Man nimmt z.B. unter Windes den Editor. Erstellt entweder eine leere Datei oder füllt diese gleich mit den entsprechenden Daten. Nun speichert man diese Datei auf dem Computer als htacces.txt. Bei Filezilla öffnet man nun Links den Ordner mit der htacces.txt-Datei und bennent sie um in .htaccess (Punkt vor der Datei ist wichtig). Fertig. Nun kann man diese auf den Server hochladen. Zum bearbeiten empfehle ich genauso den Windows Editor.

Andere Möglichkeit: Eine neue Datei mit dem Windows Editor öffnen, Datei speichern unter, Dateiname .htaccess und Dateityp umstellen auf alle Dateien, da sonst eine .txt Datei abgespeichert wird.

Weiterführende Infos unter:
SELHTML

mod_rewrite Weiterleitung & Einstellungen
Markiert in:            

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert