Manchmal kann es nötig sein, alle Unterseiten einer Domain auf die Startseite umzuleiten. Vielleicht möchte man ein komplettes Projekt schließen oder umstrukturieren. Damit die Besucher nicht völlig ins Leere laufen und auch die Suchmaschinen nicht nur Fehlercodes auswerfen, empfiehlt es sich mittels der .htaccess Datei alle noch vorhandenen Unterseiten auf die Startseite im Root-Verzeichnis (normalerweise die Datei index.html) umleiten.
Alle diese Redirects haben den Vorteil, das die Suchmaschinen wie Google über eine 301-Umleitung automatisch erkennen, dass die Seite umgezogen wurde. So gelangt die neue Domain schnell in den Index und die neuen Inhalte werden indexiert. Das 301 bedeutet, dass eine Seite dauerhaft verschoben wurde und nun unter einer neuen URL erreichbar ist: HTTP-Statuscode 301 Moved Permanently. Auch für die Suchmaschinenoptimierung ist das von Vorteil, denn durch eine solche 301-Weiterleitung geht keine PageRank-Vererbung verloren!
Mit .htaccess alle Verzeichnisse inkl. Unterseiten einer Domain 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]
Wenn nötig, kann man auch auf eine index.php Startseite umleiten, dann sieht der Code so aus:
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} !^/(index\.php)?$ [NC]
RewriteRule ^.*$ /index.php [L,R=301]
Bestimmte Dateien oder Verzeichnisse beim Redirect ausschliessen
Über die .htaccess Datei kann man über mit bestimmten Anpassungen aber nicht nur pauschal alle Unterseiten per Redirect auf die Startseite umleiten, sondern bei Bedarf bestimmte Dateien oder Verzeichnisse ausschließen. Hier seht ihr noch ein weiteres Beispiel für die .htaccess Datei. Damit werden beispielsweise 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]
Umleitung sämtlicher Anfragen von der alten Domain auf eine neue Domain
Zieht eine Webseite auf einen anderen Server um, kann man natürlich auch gleich die gesamte Domain über die .htaccess Datei auf die neue URL umleiten lassen. Im Webspace der alten Domain legt ihr eine .htaccess Datei mit folgendem Inhalt ab:
RewriteEngine On
RewriteBase /
RewriteRule ^(.*)$ https://www.domain.tld/\ [R=301,L]
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