htaccess 301 Redirect htaccess Weiterleitungen

htaccess 301 Redirect - das Tool für Passwortschutz und SEO-Optimierung

Htaccess Weiterleitungen
Htaccess Status Codes
Htaccess allgemein

 

Mittels einer .htaccess 301 Redirect-Datei ist es möglich, auf einem Webserver oder Webspace verzeichnisspezifische Einstellungen vorzunehmen. Dazu stehen verschiedene Regeln zur Verfügung, die direkt in die Datei eingetragen werden. Mit diesen lassen sich beispielsweise Verzeichnisse mit einem Passwortschutz versehen, Header modifizieren, URLs zu SEO-Zwecken umschreiben oder automatische Umleitungen/Weiterleitungen einrichten. Die Regeln gelten jeweils für das Verzeichnis, in dem die .htaccess abgelegt ist, sowie alle enthaltenen Unterordner. Voraussetzung für die Verwendung von .htaccess ist ein NCSA-kompatibler Webserver wie der verbreitete Apache. Außerdem muss Server-Administrator beziehungsweise Webhosting-Anbieter das Verwenden der Dateien gestatten.
 

  • "Auth Name" gibt den Namen  des Verzeichnisschutzes an.
  • "AuthUserFile" ist der Pfad der Passwortdatei vom Rootlevel zur Datei (Bei jedem Hoster unterschiedlich).
  • "Require valid-user" steht für den Snippet, der mit dem Passwortgenerator erstellt wird.


htpasswd Generator: http://www.htaccesstools.com/htpasswd-generator/

 

AuthType Basic
 AuthName "Titel des Passwortschutzes"
 AuthUserFile /var/www/html/.htpasswd
 Require valid-user

htaccess- Redirect Verweis auf einen Unterordner

Hier müssen Sie noch "meier&soehne", "Unterordner" und "index.php" durch Ihre Werte ersetzen.
 

Index.php muss angepasst werden, wenn Sie als Hauptdatei eine .html Dtaei verwenden.
Unterordner muss ersetzt werden durch den Ordnernamen, den Sie wählen.
Meier&Soehne.de ist Ihre Domain.

 

{REQUEST_FILENAME} !-f legt als Serverkonstante fest, dass es sich hierbei und eine Datei handelt (-f = File) und das ! dient als Negation, um alle festgelegten Regeln zu ignorieren.

 

{REQUEST_FILENAME} !-d Diese Regel legt fest, dass auf einen Ordner verlinkt wird und die darin enthaltene index.php aufgerufen wird.
RewriteEngine on
RewriteCond %{HTTP_HOST} ^(www.)?meier&soehne$
RewriteCond %{REQUEST_URI} !^/unterordner/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /unterordner/$1
RewriteCond %{HTTP_HOST} ^(www.)?meier&soehne.de$
RewriteRule ^(/)?$ unterordner/index.php [L]

301 Redirect Weiterleitung auf www

Eine 301 Redirect Weiterleitung von Non-www auf www und umgekehrt ist hilfreich, um internen Duplicate Content zu vermeiden. Falls beides vorhanden ist, teilt sich ein Webauftritt seine Popularität mit sich selbst, aufgrund der doppelten Erreichbarkeit.

 

RewriteEngine On
RewriteCond %{HTTP_HOST} (www\.)?meier&soehne.de
RewriteRule (.*) http://www.meier&soehne.de/$1 [R=301,L]

Redirect Weiterleitung auf Non www.

RewriteCond %{HTTP_HOST} ^www.meier&soehne\.de$ [NC]
RewriteRule ^(.*)$ http://meier&soehne.de/$1 [R=301,L]

Htaccess Redirect für ssl:

Wenn Sie ein SSL Zertifikat durch Ihren Webmaster/Webhoster erhalten haben, sollten Sie nicht vergessen dies auch Ihrem System mitzuteilen, durch den passenden Eintrag in der htaccess Datei. Achten Sie auch darauf, dass alle anderen (internen) URL`s umgestellt werden, da sonst nicht das berühmte grüne Schloss und das Attribut "sichere Seite" angezeigt werden.

 

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}/$1 [R=301,L]

301 Redirect Weiterleitungen für neue Domainstruktren

Die 301 Redirect Weiterleitung übergibt dem Client die Mitteilung, dass die aufgerufene Domain jetzt unter einer neuen Adresse zu finden ist. Dieser Snippet führt dazu, dass diese Weiterleitung reibungslos von statten geht. Bei fehlender oder fehlerhafter Weiterleitung, kommt die bekannte 301 Fehlermeldung.
 

Ausgangsdomain: www.testdomain.de/testunterseite
Zieldomain: www.testdomain.de/leistungen/testunterseite

 

RewriteEngine on
Redirect 301 /testunterseite www.testdomain.de/leistungen/testunterseite

Sie haben Fragen?


Die wichtigsten HTTP Statuscodes - und ihre Bedeutung

Als professionelle Web-Agentur helfen wir Ihnen, Ihre Webseiten qualitativ zu verbessern und für Suchmaschinen sichtbar zu machen. Gerne stehen wir Ihnen mit Rat und Tat zur Seite. Wir freuen uns über Ihre Anfrage.
 

Statuscodes (auch Response Codes genannt) sind kurze Antworten eines Webservers, auf eine HTTP-Anfrage. Wenn ein Webserver eine Anfrage erhält, sendet er eine HTTP-Antwort mit Informationen an den Client zurück. Diese Antworten stehen in der Response-Zeile, der ersten Zeile der Server-Antwort. Normalerweise ist die Antwort nicht sichtbar, doch fast jeder Benutzer hat schon einmal mit dem Status Code 404 oder 500 Bekanntschaft gemacht. Für Entwickler oder Betreiber einer Website sind die Statuscodes von großer Bedeutung und eine gute Möglichkeit für die Diagnose und Behebung von Konfigurationsfehler einer Website. 


Jede HTTP-Nachricht (Hypertext Transfer Protocol) ist entweder eine Anforderung oder eine Antwort. Ein Client erstellt eine Nachricht mit der Absicht mit einem Server zu kommunizieren. Er untersucht die Antwort des Servers, um zu überprüfen, ob die Anfrage erfüllt wurde und interpretiert die Ergebnisse. Ein Server wartet auf eine Anfrage, analysiert die empfangene Nachricht und reagiert darauf mit einer Antwort.


Geht bei einer Anfrage oder Übertragung etwas schief, wird der HTTP Statuscode in einigen Fällen im Browserfenster angezeigt. Auf diese Art will der Server mitteilen: "Irgend etwas stimmt hier nicht! Hier ist ein Code, der erklärt was schiefgelaufen ist!" Für die Browser Chrome und Firefox gibt es verschiedene Erweiterungen, mit denen der Statuscode sichtbar gemacht werden kann.


Die Klassen der HTTP 1.1 Statuscodes

In der aktuellen Version des Hypertext Transfer Protocol (HTTP 1.1) gibt es insgesamt über 40 HTTP Statuscodes. Allerdings sind es weniger als ein Dutzend, denen man im Web regelmäßig begegnet. Die Codes sind in fünf Klassen unterteilt:
 

  • 100er-Klasse: Informationscodes - zeigen an, dass der Client seine Arbeit fortsetzen kann.
  • 200er-Klasse: Erfolgscodes - werden zurückgegeben, wenn die Browseranfrage vom Server erfolgreich empfangen, verstanden und bearbeitet wurde.
  • 300er-Klasse: Umleitungscodes - werden zum Client gesandt, wenn eine neue Ressource eingesetzt wurde.
  • 400er-Klasse: Client-Fehlercodes - werden angezeigt, wenn ein Problem bei der Anfrage aufgetreten ist.
  • 500er-Klasse: Server Fehlercodes - geben an, dass die Anforderung akzeptiert wurde, aber einFehler auf dem Server die Ausführung verhindert hat.
  • 900er-Klasse: Proprietäre Statuscodes - kennzeichnen fehlerhafte Anfragen, deren Ursachen im Netzwerk liegen. Diese Codes werden als proprietär bezeichnet, weil sie auf einem nicht öffentlichen Standard beruhen.

Der Statuscode besteht aus einem dreistelligen ganzzahligen Wert. Die erste Ziffer des Codes definiert die Antwortklasse. Innerhalb einer jeden Klasse existiert eine Vielzahl von Codes, die vom Server zurückgegeben werden können. Jeder Code hat eine spezifische Bedeutung.


Statuscode 1xx - Informationen

Antworten in dieser Klasse bestätigen, dass der Server die Anfrage empfangen und verstanden hat. Der Statuscode wird temporär während der Bearbeitung angezeigt. Dadurch weiß der Client, dass er auf die Antwort noch warten muss. Im HTTP / 1.0 - Standard sind keine 1xx - Statuscodes definiert. Zu einem HTTP 1.0 Client muss ein Server keine 1xx-Antwort senden.


100 Continue
Der Server hat den Anforderungsheader empfangen und verstanden. Der Client kann fortfahren, den Anfragetext zu senden. Damit ein Server die Header der Anforderung überprüft, muss der Client den Code "Expect: 100-continue" in seiner ursprünglichen Anforderung als Header senden.


101 Switching Protocols
Der Client hat den Server aufgefordert, die Protokolle zu wechseln, und der Server hat zugestimmt.


102 Processing
Eine Client-Anfrage kann viele Unteranfragen enthalten, die Dateioperationen betreffen, die eine lange Zeit benötigen, um die Anfrage abzuschließen. Dieser Code gibt an, dass der Server die Anforderung empfangen hat und verarbeitet, aber noch keine Antwort verfügbar ist. Dies verhindert, dass der Client das Zeitlimit überschreitet und annimmt, dass die Anfrage verloren gegangen ist.


Statuscode 2xx - Erfolg

Diese Klasse der HTTP Statuscodes zeigt an, dass die Anfrage vom Server empfangen, verstanden, akzeptiert und bearbeitet wird.


200 OK
Standardantwort für erfolgreiche HTTP-Anfragen.


201 Created
Die Anforderung wurde erfüllt, wodurch eine neue Ressource erstellt wurde.


202 Accepted
Die Anfrage wurde zur Bearbeitung angenommen, aber noch nicht abgeschlossen.


203 Non-Authoritative Information
Ein Proxy-Server hat die Metainformationen im Antwort-Header eventuell verändert so dass sie eventuell nicht mit denen des Ursprungsservers übereinstimmen.


204 No Content
Der Server hat die Anfrage erfolgreich verarbeitet und gibt aber keinen Inhalt zurück.


205 Reset Content
Der Server hat die Anfrage erfolgreich verarbeitet, gibt jedoch keinen Inhalt zurück. Im Gegensatz zur Antwort 204, ist es erforderlich, dass der Client die Dokumentansicht zurücksetzt.


206 Partial Content
Der Server liefert aufgrund eines vom Client gesendeten Range Headers nur einen Teil der Ressource. Der Range Header wird von HTTP-Clients verwendet, um unterbrochene Downloads wiederaufzunehmen oder einen Download in mehrere gleichzeitige Streams aufzuteilen.


207 Multi-Status
Der folgende Nachrichtentext ist standardmäßig ein XML-Dokument und kann je nach Anzahl der Unteranforderungen eine Anzahl von separaten Antwortcodes enthalten.


208 Already Reported
Die Mitglieder einer WebDAV-Bindung wurden bereits in einem vorhergehenden Teil der Multi-Status Antwort aufgezählt und werden nicht erneut übermittelt.


226 IM Used
Der Server hat eine Anforderung für die Ressource erfüllt, und die Antwort ist eine Darstellung des Ergebnisses einer oder mehrerer Instanzmanipulationen, die auf die aktuelle Instanz angewendet wurden.


Statuscode 3xx - Umleitung

Diese Klasse des Statuscodes zeigt an, dass der Client zusätzliche Maßnahmen ergreifen muss, um die Anforderung abzuschließen. Hier sind die wichtigsten Codes.


301 Moved Permanently
Die angeforderte Ressource wurde dauerhaft verschoben. Dieser Code wird übermittelt, wenn eine Webseite oder Ressource dauerhaft durch eine andere Ressource ersetzt wurde. Dieser Code wird auch für die permanente URL-Umleitung verwendet.


302 Found
Die angeforderte Ressource wurde verschoben, aber gefunden. Dieser Code wird verwendet, um anzuzeigen, dass die angeforderte Ressource gefunden wurde, nur nicht an dem Ort, an dem es zu erwarten war. Dieser Code wird auch für die temporäre URL-Umleitung verwendet.


304 Not Modified
Die angeforderte Ressource wurde seit dem letzten Zugriff nicht mehr geändert. Dieser Code teilt dem Browser mit, dass im Browser-Cache gespeicherte Ressourcen nicht geändert wurden. Es wird verwendet, um die Auslieferung von Webseiten zu beschleunigen, indem zuvor heruntergeladene Ressourcen erneut verwendet werden.


Statuscode 4xx - Client-Fehler

Diese Klasse des Statuscodes ist für Situationen vorgesehen, in denen der Fehler anscheinend vom Client verursacht wurde. Hier ist der Fehler 404 besonders interessant.


404 Not Found

Ein 404-Fehler wird von einem Webserver zurückgegeben, wenn er die angeforderte Seite nicht finden kann. Die wahrscheinlichste Ursache für diesen Fehler ist eine falsch eingegebene URL. Wenn Sie beim Zugriff auf eine Website einen 404-Fehler erhalten überprüfen Sie zunächst, ob Sie die URL in der Adressleiste Ihres Webbrowsers falsch eingegeben haben. Wenn Sie immer noch nicht auf die Ressource zugreifen können, die Sie suchen, ist es möglich, dass sie umbenannt oder verschoben wurde, ein weiterer häufiger Grund für diesen Fehler. Dies kann zum Beispiel auftreten, wenn Sie mit einem veralteten Lesezeichen auf die Webseite zugreifen. In diesem Fall ist es am besten, die URL für die Startseite der Site einzugeben und dann die Suchfunktion zu verwenden, um nach der Seite zu suchen, die Ihrer Anfrage entspricht.

Einige Websites haben eine personalisierte 404-Seite, die Links zu den Hauptabschnitten der Website oder andere Hilfeseiten enthalten kann. Der Internet Explorer 4.x und höher ersetzt möglicherweise seine eigene Standardmeldungsseite für die vom Designer der Website erstellte Fehlermeldung wenn diese Option aktiviert ist. Um sicherzustellen, dass Sie immer die benutzerdefinierte 404-Fehlerseite auf einer Website anzeigen können, stellen Sie sicher, dass die Option "Anzeigen benutzerfreundlicher HTTP-Fehlermeldungen" unter Extras, Internetoptionen, Erweitert deaktiviert ist.


Nach einem Gerücht ist die Fehlermeldung nach der Raumnummer 404 benannt worden. In diesem Raum befand sich am europäischen Forschungslabor CERN die ursprüngliche Datenbank für das Web. Dort wurde das World Wide Web in den späten 80er-Jahren vom britischen Informatiker Tim Berners-Lee entwickelt und gehostet.


Statuscode 5xx - Serverfehler

Diese Klasse von HTTP-Statuscodes zeigt an, dass der Server weiß, dass ein Fehler vorliegt und er nicht in der Lage ist, die Anforderung auszuführen. Wenn es sich um eine temporäre oder permanente Bedingung handelt enthält die Antwort des Servers normalerweise eine Erklärung der Fehlersituation. Diese Antwortcodes in dieser Klasse gelten für jede Anfrage-Methode.


500 - Internal Server Error
Der Webserver antwortet mit diesem Statuscode, wenn eine unerwartete Bedingung aufgetreten ist, welche die Erfüllung der Anforderung durch den Client verhindert hat.


503 - Service Unavailable
Der Web-Server antwortet mit diesem Statuscode, wenn er aufgrund einer vorübergehenden Überlastung oder Wartung des Servers derzeit nicht in der Lage ist, die Anforderung zu bearbeiten. Das bedeutet, dass dies ein vorübergehender Zustand ist, der nach einiger Zeit behoben ist. Falls bekannt, kann die Länge der Verzögerung in der Fehlermeldung angezeigt werden.


504 Gateway Timeout
Der Server hat, während er als Gateway oder Proxy fungierte, keine zeitnahe Antwort von dem durch die Anforderungs-URL spezifizierten Server erhalten.


Statuscode 9xx - Proprietäre Statuscodes

Fehler, die im Netzwerk auftreten führen zu einer Statusmeldung in der Klasse 9xx. In diesem Fall wird die Anfrage erneut an den Server gesendet.


Statuscode 906
Ist ein Übermittlungsfehler aufgetreten sendet der Webserver den Statuscode 906 damit der Client die Anfrage erneut senden kann.


Statuscode 950
Der Statuscode 950 wird verwendet, wenn bei einer Administrator-Anfrage ein Fehler aufgetreten ist.



Alle weiteren Codes der Gruppe 9xx (900-905, 907) werden bei einem fehlerhaften Erhalt der Benutzeranfrage gesendet.
 


 

So funktionieren Redirects in .htaccess-Dateien

Webserver wie der Apache verfügen über eine zentrale Konfigurationsdatei (httpd.conf). In dieser legt der Administrator fest, welche Rechte für einzelne Verzeichnisse des Servers gelten. Handelt es sich um einen Webhosting-Server, auf dem sich verschiedene Kunden (und somit mehrere virtuelle Hosts) befinden, kann er für jeden davon festlegen, ob und inwieweit dieser .htaccess nutzen kann. Dazu nutzt der Administrator die "AllowOverride"-Direktive. Enthält diese den Zusatz "none", sind die Dateien auf dem Server nicht erlaubt und werden vom Webserver ignoriert. Steht der Wert hingegen auf "all", hast du als Inhaber des jeweiligen virtuellen Hosts viele Freiheiten selbst Einstellungen vorzunehmen. Dazwischen gibt es eine Reihe weiterer Werte, mit denen der Administrator die Verwendung der Konfigurationsdateien reglementieren kann. Erlaubt der Webhoster die Verwendung, prüft der Webserver bei jedem Seitenaufruf, ob im jeweiligen Verzeichnis eine solche Datei vorhanden ist. Ist das der Fall, führt er die enthaltenen Regeln aus. Änderungen an der .htaccess sind dadurch jederzeit möglich und wirken sich sofort aus. Ganz im Gegensatz zur httpd.conf, bei der Änderungen erst durch Neustart des Webservers in Kraft treten. Ein Nachteil von .htaccess ist jedoch die Performance, die durch die ständigen Abfragen des Webservers leidet.


Für welche Zwecke eignen sich .htaccess Redirect-Dateien?

Vom Zugriffsschutz einzelner Verzeichnisse und ganzer Websites bis zum Festlegen von Sprachen und Zeichensätzen gibt es für die Dateien viele Einsatzgebiete. Häufig findet sie bei der Suchmaschinenoptimierung und konkret zum Umschreiben von URLs Verwendung. Ist der Zugriff auf das Apache-Modul "mod_rewrite" erlaubt, kannst du dieses in der .htaccess einmalig mittels "RewriteEngine On" aktivieren. Über reguläre Ausdrücke (RegExp) kannst du anschließend komplizierte URLs mit Parametern in "sprechende URLs" umzuwandeln. Ebenso lässt sich die Konfigurationsdatei zum permanenten (301) oder temporären (302) Umleiten einzelner Seiten, Verzeichnisse oder ganzer Domains nutzen. So kannst du einen Website-Umzug durchführen, doppelten Content ("Duplicate Content") vermeiden oder die Backlinks einer Domain an eine andere "vererben". Sofern es der Administrator gestattet, kannst du darüber hinaus die PHP-Einstellungen ändern, und zum Beispiel die "max_execution_time" (Laufzeit von Skripten) hochsetzen.