In manchen Situationen kann es notwendig sein, alle Unterseiten einer Domain auf die Startseite umzuleiten – etwa wenn ein Projekt geschlossen, archiviert oder komplett umstrukturiert wird. Damit Besucher nicht auf Fehlerseiten landen und Suchmaschinen keine 404-Meldungen erhalten, bietet sich eine Weiterleitung über die .htaccess-Datei an. Dabei werden sämtliche Aufrufe auf die Hauptseite im Root-Verzeichnis (in der Regel index.html oder index.php) geleitet.
Eine solche Weiterleitung erfolgt üblicherweise per 301-Redirect. Dieser Statuscode signalisiert, dass die ursprüngliche URL dauerhaft umgezogen ist (HTTP 301 Moved Permanently). Suchmaschinen wie Google bewerten dies korrekt und übernehmen die neue Zieladresse in den Index. Auch aus SEO-Sicht ist ein 301-Redirect sinnvoll, da der vorhandene PageRank weiterhin vererbt wird.
Alle Verzeichnisse und Unterseiten auf die Startseite umleiten
Hier der entsprechende Code für die .htaccess Datei, um alle Verzeichnisse inkl. Unterseiten umzuleiten:
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} !^/(index\.html)?$ [NC]
RewriteRule ^.*$ /index.html [L,R=301]Soll die Startseite stattdessen eine index.php sein, wird die Rewrite-Regel entsprechend angepasst:
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} !^/(index\.php)?$ [NC]
RewriteRule ^.*$ /index.php [L,R=301]Bestimmte Dateien oder Verzeichnisse vom Redirect ausschließen
Über die .htaccess Datei kann man mit bestimmten Anpassungen nicht nur pauschal alle Unterseiten per Redirect auf die Startseite umleiten, sondern bei Bedarf auch bestimmte Dateien oder Verzeichnisse ausschließen. Im nachfolgenden Beispiel werden alle Aufrufe auf Unterseiten einer Domain mit Ausnahme der index.html, der style.css sowie aller Dateien im Ordner /img/ auf die Startseite weitergeleitet.
RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_URI} !^/(index\.html|style\.css)?$ [NC]
RewriteCond %{REQUEST_URI} !^/img(/|$) [NC]
RewriteRule ^.*$ /index.html [L,R=301] Alle Anfragen einer alten Domain auf eine neue Domain umleiten
Beim Umzug einer Website auf eine neue Domain kann per .htaccess eine vollständige Weiterleitung eingerichtet werden. Dazu wird im Webspace der alten Domain eine .htaccess-Datei mit folgendem Inhalt abgelegt:
RewriteEngine On
RewriteBase /
RewriteRule ^(.*)$ https://www.domain.tld/$1 [R=301,L]Damit werden sämtliche URLs der alten Domain dauerhaft auf die entsprechende URL der neuen Domain weitergeleitet.
Hallo und guten Abend,
ich habe ein Problem … ich habe eine Webseite erstellt, da die frühere Webmasterin ihren Server wegen Nichtbezahlung einfach hat abschalten lassen. Die ganze Verzeichnisstruktur war wohl auf PHP aufgebaut. Die neue Webseite findet man auch bereits bei Google, jedoch auch noch die alten Seiten, die ich auch über das Webmastertool nicht löschen kann … z.B. webseite.de/index.php/referenzen-projekte, leider noch mit http:
https: wird eigentlich über den Server erzwungen. Auch mit RewriteRule konnte ich nichts erreichen. Es erfolgt dann nur ein Internalt Server Error. Die frühere Webmasterin hat so eine komische Struktur aufgebaut, die gar nicht mehr nachvollziehbar ist.
Gibt es Möglichkeiten, die alten http: Seiten zu ignorieren bzw. auf meiner fehlerseite401.htm umzuleiten?
Für eine kleine Hilfe wäre ich dankbar.
Grüße der Ralf
Hallo Ralf, das kann man sicherlich anhand einer Filter-Regel mit regulären Ausdrücken (RegExp) in der htaccess-Datei hinterlegen (je nach Muster der alten URLs). Ich bin da aber leider kein Experte für. Vielleicht findet Du unter https://301re.direct/ ein paar Hinweise auf die passenden Variablen.
Vielen Dank für die Info, hat bei mir super geklapt.
Lg Alex