Ich bevorzuge für meine Projekte, wie auch hier bei www.redirect301.de, das dreifache W zum Zeichen einer World Wide Web Anwendung vor dem Domainnamen. Über den Sinn und Unsinn dieser Subdomain kann man geteilter Meinung sein, aber das ist in diesem Artikel nicht das Thema.
Dieser Beitrag widmet sich der Konfiguration eines Aufrufs der eigenen Webseite ohne dem überflüssigen „www.“ vor dem Domainnamen und wie sich diese Aufrufe einfach und Suchmaschinenfreundlich von www.domain.de auf domain.de (ohne www.) mit Hilfe der htaccess-Datei umleiten lassen. Den umgekehrten Fall findet ihr im Artikel Webadresse immer mit www.
Code-Beispiel zum Einbinden in die htaccess-Datei
Die htaccess-Datei im Wurzelverzeichnis eures Webprojekts benötigt die folgenden 3 Zeilen Apache-Konfigurationscode. Die Funktionsweise einer htaccess-Datei und wie diese angelegt wird, ist hier ausführlich beschrieben.
RewriteEngine on RewriteCond %{HTTP_HOST} ^www\.redirect301\.de$ RewriteRule ^(.*)$ https://redirect301.de/$1 [L,R=301]
Was bedeuten diese 3 Code-Zeilen in der .htaccess-Datei?
Als erstes aktivieren wir das Apachemodul mod_rewrite (RewriteEngine on) für unser Webprojekt. In Zeile 2 legen wir eine Bedingung (RewriteCond) fest. Diese überprüft, ob in der HTTP-Protokollanfrage der Hostname (%{HTTP_HOST}) www.redirect301.de ist. Die Bedingung gilt in diesem Beispiel nur dann als erfüllt, wenn der Hostname mit www beginnt (^) und mit .de endet ($). Ein möglicher Schreibfehler wie wwww oder ww usw. würde hier unberücksichtigt bleiben. In der 3. Zeile wird einfach alles (.*) was die vorherige Bedingung erfüllt hat per 301-Weiterleitung (R=301) an den die Adresse http://redirect301.de weitergeleitet. Der Statuscode 301 zeigt an, dass es sich um eine permanente Umleitung handelt und könnte hier auch mit [R=permanent] angegeben werden – das macht keinen Unterschied.
Alternativen zur htaccess-Datei
Natürlich funktioniert dieser Code auch innerhalb des Directory-Bereichs der Konfiguration des virtuellen Hosts. Und auch als virtueller Hosts-Eintrag lässt sich eine 301-Umleitung ohne www problemlos einrichten:
<VirtualHost *:80> ServerAlias www.redirect301.de Redirect 301 / http://redirect301.de/ </VirtualHost>
Bitte daran denken, dass diese Änderungen einen Apache Reload benötigen. Bei Debian sollte die neue Konfiguration durch apache2ctl -t auf ihre syntaktische Korrektheit überprüft werden und anschließend mit apache2ctl graceful eingelesen und aktiviert werden. Andere Betriebssysteme verwenden hier sicherlich ähnliche Aufrufe.
Hallo,
wollte nur kurz danke sagen, die htacces umleitung funktioniert bei mir jetzt prima.
VG, Georg
Hallo, Google treibt mich in den Wahnsinn… Vielleicht erkennst du meinen Fehler. Ich habe obigen Code in meine .htaccess eingegeben (und natürlich den Domainnamen ausgetauscht). In der Adresszeile ist alles ok: Gibt man die URL mit www ein, wird auf die URL ohne www umgeleitet. Aber in der Google Search Console kann ich mich nur für die URL mit www „verifyen“, aber nicht ohne. So kann ich keine „preferred domain“ angeben. Und die XML Sitemap liest er wohl auch nicht. In den Suchergebnissen werden Seiten angeben, die es längst (seit gestern) nicht mehr gibt… Im Quelltext der Seite steht „meta name=“google-site-verification“ content=“…“ Und die HTML-Datei von Google liegt in der Root, aber er erkennt es nicht.
Mal den Cache geleert? In der Search Console sollte sich definitiv die Seite ohne www verifizieren lassen, wenn man selbst die wie gewünscht aufrufen kann.
Ich habe die Rewrite-Anweisungen auskommentiert und nun kann ich die Seiten bei Google verifizieren. Es scheint, dass 1&1 das automatisch umschreibt…
Hallo Daniel,
bei mir zeigt Google bei diesem Code folgendes an, wenn ich in die Adresszeile zur Probe meine URL ohne www oder http eintippe:
Fehler: Umleitungsfehler
Die aufgerufene Website leitet die Anfrage so um, dass sie nie beendet werden kann.
Wie kann ich das aushebeln?
Bzw. geht es irgendwo in der SQL grundsätzlich von http://www. auf nur http:// umstellen?
Wäre für nen kleinen Tipp dankbar.
LG Julia
Ja klar geht das. Du nutzt WordPress? Dann unter Einstellungen > Allgemein deine Adresse ohne www angeben und die Permalinks noch einmal speichern.
Das klappt so aber leider nicht für Seiten in Unterverzeichnissen, richtig?
Wie müsste die Regel aussehen, wenn ich auch einen Aufruf an
www.meinedomain.de/kontakt/kontakt.htm
permanent weiterleiten will an
meinedomain.de/kontakt/kontakt.htm
und halt nicht auf die Einstiegsseite www.meinedomain.de ?
LG
Karsten