htaccess Befehle
.htaccess & .htpasswd vom Server löschen
Sie möchten Ihre .htaccess oder .htpasswd löschen, aber können diese nicht sehen? Wenn das verwendete FTP-Programm eine Kommandozeile besitzt, gibt man dort 'delete .htaccess' oder 'delete .htpasswd'ein, und schon wird die jeweilige Datei gelöscht. Eine solche Kommandozeile besitzten zb. WS-FTP, Windows-Commander,Total commander, filezilla.
Am einfachsten und ohne großen Aufwand ist es, eine leere .htassecc oder .htpasswd Datei zu erstellen (eine leere .txt Datei erstellen und in .htassess oder .htpasswd umbennenen) und auf den Server zu laden. Die vorhandene wird somit überschrieben. Sie könen auch die leere .txt Datei auf den Server laden und diese dort umbennenen.
Dateitypen zum Download freigeben
Mit diesen Zeilen kann man angeben, welche Dateitypen der Browser zum Download anbieten soll. In diesem Beispiel werden Dateien mit den Endungen .gz, .pdf, .zip und .rar zum Download freigegeben.
Code:
<FilesMatch "\.(gz|pdf|zip|rar)$" >ForceType application/octet-stream
</FilesMatch>
Aufruf einer Seite / Datei / ect. verhindern
Folgender Code verhindert das die hier spezifizierte Datei .htaccess nicht aufgerufen werden kann. An stelle von .htaccess können sie jede beliebige Seite, File oder Dateityp einsetzen.
Code:
<Files .htaccess>order allow,deny
deny from all
</Files>
Benutzer sperren
Der folgende Code bewirkt, dass nur Benutzer mit einer bestimmten IP-Adresse berechtigt sind auf den Server zuzugreifen. Alle anderen werden abgelehnt.
Code:
order deny,allowallow from 27.101.84.200
deny from all
IP-Sperren
Weitere Funktionen, die häufig zum Einsatz kommen, sind IP-Sperren. Bestimmte IP-Adressen haben mit diesem Code keinen Zugriff:
Code:
order allow,denyallow from all
deny from 27.101.84.2001
IP / Website-Sperren
Hier wird der Zugriff für alle Host aus der Domain domain.de gesperrt. Der Host traffic.website.com darf ebenfalls nicht zugreifen. Alle Zugriffe eines Rechners, dessen IP mit 192.168 beginnt, werden hier auch gesperrt. Alle anderen dürfen uneingeschränkt auf die Seiten zugreifen.
Code:
order allow,denydeny from .domain.de
deny from traffic.website.com
deny from 192.168
allow from all
Alle Besucher sperren
Möchten Sie Ihre Website für alle Besucher sperren, hilft folgender Code. Alle IP-Adressen haben mit diesem Code keinen Zugriff:
Code:
order allow,denyallow from all
deny from
Dateien sperren
Dies sorgt dafür, dass keine Dateien, die mit einem Punkt beginnen (wie die .htaccess selbst) vom Server ausgeliefert werden.
Code:
<FilesMatch "^\." >deny from all
</FilesMatch>
Fehlerbehandlung
Anstelle von Standard Servermeldungen werden mit diesem Code individuelle Seiten ausgegeben, sobald der entsprechende Fehler auftritt.
- oben = Weiterleitung zur Fehlerseite auf einer anderen Domain.
- mitte = Weiterleitung zur Fehlerseite auf der eigenen Domain .
- unten = Ausgabe des hier eingegebenen Textes als Fehlermeldung.
Code:
ErrorDocument 403 http://www.andere-url.de/403.htmlErrorDocument 404 http://www.andere-url.de/404.html
oder:
ErrorDocument 403 /errors/403.html
ErrorDocument 404 /errors/404.html
oder:
ErrorDocument 403 "Als Benutzer haben Sie hier keinen Zugriff."
ErrorDocument 404 "Die Seite /Datei wurde gelöscht oder wird Überarbeitet."
Weiterleitungen zur Startseite
Ruft jemand die URL http://www.webseite.de/beispielverzeichnis auf landet er ohne weiteren Zwischenstopp direkt auf der Startseite.
Code:
Redirect /beispielverzeichnis http://www.webseite.de
Weiterleitungen (301 Redirect) #1
Wenn Webseiten umbenannt werden, oder eine Website auf eine andere Domain umzieht, kann man von den alten Dateien auf die neuen mit einem sogenannten permanent Redirect (301 Redirect) weiterleiten.
Code:
Redirect permanent /seite.html http://www.neue-domain.de/seite.html
Weiterleitungen (301 Redirect) #2
Von /verzeichnis/alt.html wird auf http://www.domain.com/neu.html weitergeleitet und Status-Code 301 an den Spider ausgeliefert.
Code:
Redirect 301 /verzeichnis/alt.html http://www.seite.dem/neu.html
Weiterleitungen Einzeldateien
Hier wird beim Aufruf der Seite eine-seite.html direkt weitergeleitet zur Seite andere-seite.html
Code:
Redirect /eine-seite.shtml andere-seite.shtml
Weiterleitungen Domain
Dieser Befehl leitet jeden Aufruf einer Website in dessen .htaccess dieser Code steht auf eine andere Domain um. Dies ist nur möglich wenn die .htaccess-Datei im obersten Ordner (root) liegt.
Code:
Redirect / http://www.neue-seite.de/
htaccess umbenennen
Wie allgemein bekanntt, heisst die htaccess-Datei normalerweise .htaccess. Ihr könnt dies aber auch ändern
Bei diesem Beispiel wird in allen Unterverzeichnissen die Datei .datei als htaccess-Datei verwendet.
Code:
AccessFileName .datei
Bestimmte Seite als Startseite aufrufen
Meistens heisst die Startseite der meisten Provider index.html, default.html oder home.html. Sie können auch einen beliebigen anderen Namen als Startseite verwenden. Wie z.B. index.php, index.shtml, index.php4
Code:
DirectoryIndex index.shtml
Bestimmte Seite als Startseite aufrufen 2
In diesem Beispiel, versucht der Apache der angegebenen Reihenfolge nach die index.html anzuzeigen, wenn er diese nicht findet, versucht er es mit der index.htm usw.
Code:
DirectoryIndex index.html index.htm index.php xyz.html xyz.php
Verzeichnisauflistung an/aus
Sie können festlegen, ob der Apache einen Fehler zurückgeben soll, wenn sich keine Startseite in einem Verzeichnis befindet, oder ob er den Inhalt des Verzeichnisses ausgeben soll.
Code:
Inhalt ausgeben:Options +Indexes
oder Fehler Ausgeben:
Options -Indexes
Crawler/Programme ausschließen
Tragen Sie folgende Codezeilen für jedes Programm/Crawler ein welche Sie von Ihrer Seite fernhalten möchten. In diesem Beispiel den Craler BackWeb.
Code:
RewriteEngine OnRewriteCond %{HTTP_USER_AGENT} ^BackWeb
Standarddomain definieren (Duplicate Content vermeiden)
Um zu verhindern das zB Google Ihre Website unter http://www.domain.de und http://domain.de erreicht bedarf es nur eines kleinen Eintrages. Durch folgenden Eintrag in die .htaccess im Stammverzeichnis zwingt man den Server per mod_rewrite alle Browser und Bots (!) auf die Version mit “www.*” umzuleiten
Code:
Options +FollowSymlinksRewriteEngine on
RewriteCond %{HTTP_HOST} !^www.domain.de$ [NC]
RewriteRule ^(.*) http://www.domain.de/$1 [L,R=301]
URL Rewriting
Dieser Code Bewirkt, das Seiten wie zb. http://www.domain.de/index.php?go=home wie folgt umbenannt werden: http://www.domain.de/home.html ! Wenn bei Ihnen etwas anderes steht als index.php?go=home, müssen Sie dies natürlich im Code ändern.
Code:
RewriteEngine onRewriteRule ^(.*).html$ index.php?go=$1 [L]
PHP-Befehle in .html-Seiten
Um zu erreichen , dass PHP-Befehle auch in Seiten mit der Dateiendugung .html interpretiert werden, dient folgender code:
Diese Zeilen sagen dem Webserver: "Alle Dateien mit der Endigung .html oder .htm müssen zuerst vom PHP-Programm bearbeitet werden, bevor sie an den Browser weitergeschickt werden."
Code:
AddType application/x-httpd-php .htmlAddType application/x-httpd-php .htm
oder:
AddType application/x-httpd-php .html .htm
oder für neueren Versionen von PHP bzw. Apache:
AddHandler application/x-httpd-php .html .htm
parse-errors ausgeben
Wenn Display_Errors bei Ihnen in der php.ini off ist und Sie kein Zugriffsrechte für dies Datei besitzen können Sie mit folgendem Code parse-errors ( Fehlermeldungen) ausgeben lassen.
Code:
php_flag display_errors true
Server Side Includes ON/OFF
Mit Includes wird die Verwendung von Server Side Includes erlaubt oder abgeschaltet.
Code:
Options -Includes --> Server Side Includes abgeschaltet.Options +Includes --> Server Side Includes eingeschaltet.
ExecCGI ON/OFF
Mit Includes wird die Verwendung von Server Side Includes erlaubt oder abgeschaltet.
Code:
Options -ExecCGI --> CGI-Scripts sind untersagtOptions +ExecCGI --> CGI-Scripts sind möglich
Umleitung auf https://
Wie kann ich, wenn meine Website mit http:// aufgerufen wurde, automatisch auf https:// umleiten? Das geht per folgendem Code in der .htaccess-Datei
Code:
RewriteEngine OnRewriteCond %{SERVER_PORT} !=443
RewriteRule ^(.*)$ https://www.domainname.de/$1 [R=301,L]
C-NAMES Startseiten
Mit diesem Code können Sie unterschiedliche Startseiten für mehere Domains (sog. C-NAMES) anzeigen?, zb.
domain1.com --> domain.com/index1.html
domain2.com --> domain.com/index2.html
Alle Domains zeigen auf das gleiche Verzeichnis.
Code:
RewriteEngine OnRewriteCond %{HTTP_HOST} ^(www\.)?domain1\.com
RewriteRule ^$ index1.html
RewriteCond %{HTTP_HOST} ^(www\.)?domain2\.com
RewriteRule ^$ index2.html


