Über die unsichtbare .htaccess Datei können elegant Weiterleitungen eingerichtet werden. Hier wenden wir das auf ein frisch installiertes WordPress (oder anderes CMS) an, dass in einem Subfolder liegt. Alternativ kann man auch mit HTML, JavaScript und PHP weiterleiten.

Eigene Verzeichnisse für Webapplikationen oder Landingpages

Grundsätzlich empfiehlt es sich, auf Ihrem Webserver das Contentmanagementsystem in einem eigenen Ordner zu installieren. Im Falle von WordPress heisst dieser dann oft „/wp“ oder „/blog“ oder „/news“ oder „/web“ oder „/cms“. Denn vielleicht werden Sie ja in Zukunft noch weitere Applikationen auf Ihrem Server installieren, wie ein Shop-System, ein Forum, ein Wiki, etc. Dann sind ihre Applikationen schön voneinander getrennt.

Ein weiterer Fall liegt dann vor, wenn Sie z. B. jedes Jahr eine Konferenz veranstalten und dafür jeweils eine eigene Website einrichten (Landingpage): dann heissen Ihre Ordner vielleicht „/2015“, „/2016“. Dann wollen Sie auch, dass vom Root-Directory automatisch zum gerade aktuellen Ordner weitergeleitet wird.

WordPress Weiterleitung mit .htaccess

  1. Installieren Sie WordPress in einem eigenen Ordner (subdirectory) wie /wp oder /2016.
  2. Öffnen Sie oder legen Sie die Datei .htaccess im Wurzelverzeichnis (root directory) – nicht im Subdirectory – Ihres Webservers an (unten einige Tipps zur .htaccess-Datei)
  3. Ergänzen Sie die folgenden drei Zeilen Code in Ihrer .htaccess Datei:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^(www.)?YourDomain.com$
RewriteRule ^(/)?$ blog [L]
  1. Ändern Sie im oben stehenden Code „YourDomain.com“ in der 2. Zeile zu Ihrem Domainennamen
  2. Ändern Sie im oben stehenden Code „blog“ zu dem von Ihnen gewählten Ordnernamen, in dem WordPress installiert wurde: also z.b: „wp“ oder „2016“ (natürlich ohne die Anführungszeichen)
  3. Sichern Sie die .htacess Datei im Wurzelverzeichnis Ihres Webservers.

Sobald nun ein Besucher Ihre Domaine ansurft – http://www.meinedomaine.com –, wird er automatisch zum WordPress-Unterverzeichnis weitergeleitet – auch ohne eine index.html o. ä. Datei im Wurzelverzeichnis, die weiterleitet – das macht alleine die .htaccess-Datei.

WTF ist .htaccess?

Die Datei .htaccess regelt nicht nur die Zugriffsrechte und ist meist eine unsichtbare Datei am Webserver. Wenn Sie also mit FTP oder sFTP auf Ihren Webserver zugreifen, dann wird .htaccess meist nicht angezeigt: Und, ja, der Punkt gehört zum Namen. Wenn Sie die .htaccess Datei neu anlegen sollten, dann muss der Punkt das 1. Zeichen im Namen sein.

Da .htaccess eine unsichtbare Datei ist, sollte man checken, ob diese Datei nicht bereits vorhanden ist. Surfen Sie also mit FTP oder sFTP zum Wurzelverzeichnis Ihres Webservers (das heisst oft „html“ oder ist das oberste Verzeichnis, das Sie am Webserver erreichen können). In den FTP-Programmen gibt es immer eine „Suchen“-Funktion: Wenn Sie die .htaccess-Datei also nicht sehen, dann suchen Sie sie vorsichtshalber. Wenn Sie mehrere .htaccess-Dateien finden (WordPress bzw. seine PlugIns legen auch welche in den Unterverzeichnissen an), dann schauen Sie, dass Sie diejenigen im HTML-Wurzelverzeichnis finden. Danach setzen Sie noch einen der beiden folgenden Schritte:

  • Wenn die Datei .htaccess vorhanden ist, dann öffnen Sie sie und speichern sie einmal sicherheitshalber z. B. mit dem Namen .htaccess_old ab – Sie haben dann auch ein Backup der alten .htaccess-Datei. Fügen Sie dann am Anfang der Datei die drei Zeilen Code von oben ein und passen Sie diese ihren Umständen an (Ihre Domaine, Ihr Unterverzeichnis). Eventuell gibt es weitere alte Einstellungen in der .htaccess – lassen Sie diese (bis auf nun falsche alte Weiterleitungen) bestehen. Dann speichern Sie die geänderte Datei unter dem Namen .htaccess ab.
  • Wenn Sie keine .htaccess Datei im Wurzelverzeichnis finden, dann legen Sie die Datei neu an (und vergessen Sie nicht den Punkt am Dateinamenbeginn) und fügen Sie die drei Zeilen Code mit Ihren Anpassungen (Ihre Domaine, Ihr Unterverzeichnis) ein und speichern Sie die .htaccess-Datei im Web-Wurzelverzeichnis ab.

Wenn die automatische Weiterleitung über die neue/geänderte .htaccess klappt, dann hören Sie hier zu lesen auf.


Plan B: WordPress Weiterleitung aus der index.html oder index.php

Ein bisschen ist das jetzt so, wie wenn ein Gürtelträger seine Hose auch noch mit Hosenträgern vor dem Runterrutschen schützt, aber, warum nicht. Natürlich kann die Weiterleitung auch (zusätzlich) über eine .html-Datei erfolgen. Standardmäßig gibt es meist eine index.html oder default.html-Datei im Wurzelverzeichnis Ihres Webservers (früher konnte das auch eine index.htm oder default.htm Datei sein). Im jeden Fall sollte es nur EINE dieser Dateien geben.

Vielleicht kriegen Sie das mit der .htaccess-Datei ja nicht hin und lesen gerade deshalb weiter. Dann gibt es zwei weitere Varianten der Weiterleitung, dann können sie diese Startdatei (meist index.html) überarbeiten:

WordPress Weiterleitung über eine index.html Datei

Wenn Sie aus dem Wurzelverzeichnis über diese Datei weiterleiten wollen, dann müßten Sie im <head>-Bereich dieser Datei die Zeile

<meta http-equiv="refresh" content="5; URL=http://www.Yourdomain.com/blog">

einfügen. Vielleicht doch lieber 0 (Null) statt 5 (denn das bewirkt eine Wartezeit von 5 Sekunden, bis weitergeleitet wird) und natürlich Ihre Domaine und Ihr WordPress-Installationsverzeichnis (statt „blog“). Rechnen Sie trotz Setzen der Weiterleitungszeit von 0, dass der Inhalt dieser index.html-Datei doch kurz aufblitzt.

Alternativ könnten Sie das auch mit JavaScript lösen – aber nicht alle Browser erlauben JavaScript. Da würde der Code dann

<script language="JavaScript" type="text/javascript">
setTimeout("location.href='/blog'", 5000); //5000 Millisekunden
</script>

lauten. Statt „blog“ müssen Sie wieder ihr WordPress-Installationsverzeichnis angeben. Und vielleicht setzen Sie doch 0 (Null, nicht Oh) statt 5000 – denn sonst wartet die Weiterleitung wieder 5 Sekunden, bis sie aktiv wird.

WordPress Weiterleitung mit PHP aus einer index.php Datei

Wenn Ihr Webserver PHP unterstützt, können Sie die index.html (oder wie sie auch heisst) Datei natürlich löschen und stattdessen lieber eine neue index.php-Datei mit zumindest folgendem Inhalt anlegen:

<?php
header("Location: http://www.Yourdomain.com/blog");
exit();
?>

Die index.php-Variante ist der index.html-Variante vorzuziehen, da der meta-refresh oft blockiert wird und auch JavaScript Probleme machen kann.

Wie auch immer: In den <body> dieser oder jener index-Datei können Sie noch hineinschreiben

Sie werden weitergeleitet zu http://www.Yourdomain.com/blog.

Rechnen Sie aber damit, dass dieser Text manchmal kurz aufblitzt, auch wenn Sie als Weiterleitungszeit „0“ (Null, nicht „Oh“) angegeben haben.