Elemente einer .htaccess - Datei
Hinweis: Diese Seite erhebt keinesfalls den Anspruch eigener geistigen Schöpfung!
Sie ist lediglich aus zwei eigennützigen Gründen entstanden:
- als Nachschlage-Notiz für mich selbst, damit ich nicht immer aufs neue im Netz suchen muss
- man kann es sich besser merken, wenn man zu einem Thema eine Seite erstellt hat.
Die für mich (aus meiner Sicht) am wichtigsten HTTP-Status-Codes habe ich dort zusammengestellt (Auszug aus Wikipedia).
In einer .htaccess - Datei können Kommentare zur Erläuterung der Einträge sehr hilfreich sein (wenn man später etwas ändern will). Kommentarzeilen fangen mit einem # an.
Ich habe diesen Online-Generator für .htaccess - Dateien ausprobiert und dabei u.a. folgende Elemente erhalten:
Einträge für eigene Fehlerseiten
Eintrag zur Festlegung der Standard-Datei, wenn in der URL keine festgelegt ist
# Default page
DirectoryIndex index.php
Eintrag zur Festlegung der Standard-Kontakt-E-Mailadresse
# Default contact email
SetEnv SERVER_ADMIN webmaster@domain.tld
Man sollte sich darüber im Klaren sein, dass diese E-Mailadresse für jeden Spyder und Spambot komplett unverschlüsselt lesbar ist. Diese Festlegung überhaupt zu treffen stammt also noch aus einer Zeit, als es im Internet noch nett zuging (keine bösen Buben unterwegs waren).
Eintrag zur Festlegung der Dateitypen, die automatisch zum Download führen
# Force download
AddType application/octet-stream .zip
Eintrag zur Festlegung das Standard-Zeichensatz
# Default charset
AddDefaultCharset UTF-8
Eintrag zur Verhinderung der Verzeichnis-Navigation
# Prevent directory navigation
Options All -Indexes
Eintrag für Umleitung http://url zu https://url
Voraussetzung ist zum einen, dass die Website wirklich über https zu erreichen ist und zum anderen die RewriteEngine aktiv ist.
<IfModule mod_rewrite.c>
RewriteEngine On# Redirect to SSL version
# ACHTUNG: Wenn die Domains kein HTTPS unterstützen, müssen die beiden folgenden Zeilen auskommentiert werden!!!
RewriteCond %{HTTPS} off
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI}
</IfModule>
Eintrag für Umleitung von www.url zu URL ohne www
Voraussetzung ist das aktivieren der RewriteEngine
<IfModule mod_rewrite.c>
RewriteEngine On# Redirect to non www version
RewriteCond %{HTTP_HOST} ^www.(.*)$ [NC]
RewriteRule ^(.*)$ https://%1/$1 [R=301,L]
</IfModule>
bezüglich "Regulärer Ausdrücke" siehe Link unten
Eintrag, der SPAM Bots abwehren soll
# Mod Rewrite
<IfModule mod_rewrite.c>
RewriteEngine On
Options +FollowSymlinks
RewriteBase /
#Block Spam Bots
RewriteCond %{HTTP_USER_AGENT} ^(aesop_com_spiderman|alexibot|backweb|bandit|batchftp|bigfoot) [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^(black.?hole|blackwidow|blowfish|botalot|buddy|builtbottough|bullseye) [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^(cheesebot|cherrypicker|chinaclaw|collector|copier|copyrightcheck) [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^(cosmos|crescent|curl|custo|da|diibot|disco|dittospyder|dragonfly) [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^(drip|easydl|ebingbong|ecatch|eirgrabber|emailcollector|emailsiphon) [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^(emailwolf|erocrawler|exabot|eyenetie|filehound|flashget|flunky) [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^(frontpage|getright|getweb|go.?zilla|go-ahead-got-it|gotit|grabnet) [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^(grafula|harvest|hloader|hmview|httplib|httrack|humanlinks|ilsebot) [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^(infonavirobot|infotekies|intelliseek|interget|iria|jennybot|jetcar) [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^(joc|justview|jyxobot|kenjin|keyword|larbin|leechftp|lexibot|lftp|libweb) [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^web(zip|emaile|enhancer|fetch|go.?is|auto|bandit|clip|copier|master|reaper|sauger|site.?quester|whack) [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^.*(craftbot|download|extract|stripper|sucker|ninja|clshttp|webspider|leacher|collector|grabber|webpictures).*$ [NC]
RewriteRule . - [F,L]
</IfModule>
Hier wurde ich auf die folgende verlinkte Seite aufmerksam gemacht. Danke Olaf!
Reguläre Ausdrücke - Tutorial (2006-03-20) - Daniel FETT
"Reguläre Ausdrücke" sind eine Art Sprache, die beim Programmieren für diverse Problemlösungen verwendet werden kann, insbesondere dann, wenn es darum geht, Zeichenketten (Strings) zu bearbeiten, zu prüfen oder in ihnen etwas zu suchen.
Und weil der Name "Reguläre Ausdrücke" etwas unhandlich ist, heißen die "Regular Expressions" auch oft einfach nur "RegEx(en)".
https://danielfett.de/2006/03/20/regulaere-ausdruecke-tutorial/
Wikipedia -> Regulärer Ausdruck
ahkde.github.io -> Reguläre Ausdrücke (RegEx) - Kurzübersicht
regexe - Reguläre Ausdrücke online testen
Mit diesem Programm können Sie reguläre Ausdrücke (engl. regular expressions, regexp, regex) , zum Beispiel für Java oder Perl, direkt online auswerten lassen und somit interaktiv testen. Um das Programm zu benutzen, füllen Sie dazu einfach die vorgesehen Felder aus und klicken dann auf "Los geht's".
http://www.regexe.de/