Eine .htaccess-Datei ist eine Server-Konfigurationsdatei, mit der verzeichnisbezogene Regeln am Webserver aufgestellt werden.
So kann z.B. nur bestimmten Benutzern der Zugriff erlaubt werden, indem ein Passwortschutz über eine .htaccess-Datei festgelegt wird oder bestimmte IP-Adressen ausgesperrt werden. Auch suchmaschinenfreundliche URLs lassen sich mittels einer .htaccess-Datei generieren.
Ebenso sind Domain-Umleitungen via .htaccess ein oft gefragtes Thema, daher möchten wir folgend Beispiele für Basis-Umleitungen nennen, die natürlich nach Bedarf umgeschrieben und erweitert werden können.
301-Weiterleitung
RewriteEngine On
RewriteBase /
RewriteRule ^(.*)$ http://www.zieldomain.tld/$1 [R=301,L]
Ergebnis: Die aufgerufene Domain wird auf www.zieldomain.tld umgeleitet.
Im Browser wird in der Adresszeile nicht mehr die ursprüngliche Domain, sondern die Zieldomain angezeigt. Wurden bei der ursprünglichen Domain Unterverzeichnisse www.ursprungsdomain.de/unterverzeichnis oder Dateien mit angegeben, werden diese beibehalten.
Die .htaccess-Datei darf nicht im Verzeichnis der Zieldomain liegen, da sonst eine Endlosschliefe entsteht.
Umleitung auf die Domain mit www.
RewriteEngine On
RewriteCond %{HTTP_HOST} ^meinedomain.tld$
RewriteRule ^(.*)$ http://www.meinedomain.tld/$1 [R=301,L]
Ergebnis: Wird die Domain ohne www. aufgerufen (http://meinedomain.tld), wird sie auf www. umgeleitet (http://www.meinedomain.tld)
Umleitung auf https://
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule .* https://meinedomain.tld/$1 [R=301,L]
Ergebnis: Aufrufe der Domain mit http:// (http://meinedomain.tld) werden auf https:// umgeleitet (https://meinedomain.tld)
QSA
Die Flag [QSA] sorgt dafür, dass auch Query-Strings wie z.B. www.meinedomain.tld/datei.php?id=xxx&key=value mit übergeben werden.
RewriteRule /pages/(.+) /page.php?page=$1 [QSA]
Ergebnis:Aufrufe werden mitsamt aller Query-Strings umgeleitet.
Für Fragen rund um .htaccess lohnt sich auch immer ein Blick in unser Forum. In der Community sind so einige hilfsbereite Experten, die noch jede .htaccess Frage klären und jedes .htaccess-Problem lösen konnten!