====== HTACCESS ====== Die Datei ''.htaccess'' kann die Server-Einstellungen des [[apache-httpd:start|Apache Web-Servers]] in einzelnen Unterverzeichnissen verändern. ===== Startseite ===== Standardmäßig wird die Datei ''index.html'' bzw. ''index.htm'' beim Aufruf einer Website geladen. Über die Eigenschaft ''DirectoryIndex'' kann diese verändert werden: DirectoryIndex index.php index.html index.htm In dieser Auflistung wird nun zuerst versucht die Datei ''index.php'' zu laden; falls diese nicht vorhanden ist, wird versucht die Datei ''index.html'' zu laden und falls diese nicht vorhanden ist die Datei ''index.htm'' (und falls diese nicht vorhanden ist wird ein [[webdev:http|HTTP-Error 403]] zurückgegeben). ==== Startseite für Wartungsmodus ==== Diese Funktion lässt sich gut dafür verwenden eine alternative Startseite zu definieren, wenn sich die Website gerade im Wartungsmodus befindet, z.B. bei einem [[lexikon:cms|CMS-Update]]: DirectoryIndex maintain.html ===== Fehlerseiten ===== Über die Eigenschaft ''ErrorDocument'' können eigene Fehlerseiten definiert werden: ErrorDocument 403 /error403.html ErrorDocument 404 /error404.html Für jeden [[webdev:http|HTTP-Error-Code]] muss eine eigene Einstellung mit ''ErrorDocument'' vorgenommen werden. ==== Fehler 403 ==== **Pro-Tipp:** Um vor einem Besucher den [[webdev:http|HTTP-Error 403 "Forbidden"]] zu verstecken, sollte dieser auf eine 404-Fehlerseite umgeleitet werden: ErrorDocument 403 /error404.html Das hat den Vorteil, das für einen möglichen Angreifer nicht direkt offensichtlich ist, ob eine Unterseite vorhanden ist. In den [[apache-httpd:logs|Logfiles]] des Web-Servers wird trotzdem der [[webdev:http|HTTP-Error 403 "Forbidden"]] protokolliert. ===== Weiterleitung ===== Weiterleitung von einem Hauptverzeichnis ''/'' auf ein Unterordner ''/cms'': RedirectMatch permanent ^/$ http://www.example.com/cms/ Weiterleitung von einer Domain auf eine andere: redirect 301 / http://www.example.com/ ===== Weiterleitung mit Umlaut-Domains ===== Weiterleitung mit mod_rewrite. Beispiel: Weiterleitung der Domains ''müller.de'', ''www.müller.de'' und ''mueller.de'' zu ''www.mueller.de'' RewriteCond %{HTTP_HOST} ^(?:www\.)?xn--mller-kva\.de$ [NC,OR] # müller.de RewriteCond %{HTTP_HOST} ^mueller\.de$ [NC] # mueller.de RewriteRule ^(.*) http://www.mueller.de/$1 [L,R] ===== Weiterleitung auf HTTPS ===== RewriteCond %{HTTPS} off RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L] Quelle: [[http://www.sysadminslife.com/linux/quicktipp-weiterleitung-redirect-von-http-auf-https-via-apache-oder-htaccess/|Sysadmin's Life: Weiterleitung von HTTP auf HTTPS einrichten]] ===== Verzeichnis-Auflistung ===== ==== Auflistung deaktivieren ==== Die Verzeichnis-Auflistung kann, wenn sie nicht schon standardmäßig deaktiviert ist, über die Option ''-Indexes'' deaktiviert werden: Options -Indexes ===== Links ===== * [[http://www.htaccessredirect.net/|.htaccess Generator]] * [[http://www.htaccessredirect.de/|.htaccess Redirect]] * [[https://gist.github.com/akamola/5683621|Arnes Basis-HTACCESS]]