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