.htaccess
Inhaltsverzeichnis
Allgemeines
.htaccess ("Hypertext-Zugriff") ist eine Konfigurationsdatei auf NCSA-kompatiblen Webservern, in der verzeichnisbezogene Regeln aufgestellt werden können.
Beispielsweise kann man darüber ein Verzeichnis oder einzelne Dateien durch HTTP-Authentifizierung vor unberechtigten Zugriffen schützen. Auch Fehlerseiten oder Weiterleitungen innerhalb des Servers (siehe Rewrite-Engine) lassen sich darin festlegen, ohne dass der Server neu gestartet werden muss: Änderungen in der .htaccess-Datei treten ohne Weiteres sofort in Kraft, weil die Datei bei jeder Anfrage an den Webserver ausgewertet wird. Bestimmungen in einer .htaccess wirken wie Directory-Abschnitte in zentralen Konfigurationsdateien wie einer httpd.conf. Sie gelten nur für das Verzeichnis, in dem die .htaccess gespeichert ist, und in allen seinen Unterverzeichnissen; sie können aber in den Unterverzeichnissen überschrieben werden.[1]
Passwortschutz
Passwortschutz
Eintrag in .htaccess:
AuthType Basic AuthName "http://example.com/" AuthUserFile /kunden/homepages/6/xxxx/htdocs/.htpasswd require valid-user
Passwort erzeugen:
cd /kunden/homepages/6/xxxx/htdocs touch .htpasswd htpasswd .htpasswd Frank
Es kommt die Aufforderung, ein Passwort zu vergeben. In der Datei entsteht ein "gehashter" Eintrag:
less .htpasswd Frank:$apr1$rJ82nJPG$bSgUISee4pWrzkw7LnuP11
Unterverzeichnis freigeben
Im Unterverzeichnis eine .htaccess mit folgenden Zeilen anlegen:
Satisfy Any Allow from all.de
Webseiten-Kodierung
Anweisung, dass der Server für alle Website-Dateien dieselbe Kodierung angeben soll:
AddCharset UTF-8 .html .css .js
Rewrite-Regeln
APACHE: Redirecting and Remapping with mod_rewrite
https
Folgende Regel bewirkt, dass SSL-verschlüsselte Seiten nur noch mit https-Adresse aufgerufen werden können:
RewriteEngine On RewriteCond %{SERVER_PORT} !^443$ RewriteRule (.*) https://%{HTTP_HOST}/$1 [R=301,L]
Umswitchen von Domains
# Rewrite .com --> .de <IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{HTTP_HOST} ^(www\.)?example\.com$ [NC] RewriteRule ^(.*)$ https://www.example.de/$1 [R=301,L] </IfModule>
Seiten umbenennen
Hat man eine Seite umbenannt, schreibt man folgende Zeile:
Redirect 301 oldname.html http://www.example.com/newname.html
Vor den alten Namen schreibt man nicht die Domain.
Alternativ kann man auch eine Rewrite-Regel einfügen:
RewriteEngine On RewriteRule ^oldname\.html$ http://www.example.com/newname.html [R=301,L]
Hat man die Datei verschoben, schreibt man:
Redirect 301 /olddirectory/mypage.html http://www.example.com/newdirectory/mypage.html
Alternativ kann man auch dies mit einer Rewrite-Regel erledigen.[2]
Standard für WordPress
# BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> # END WordPress
Durch diese Zeilen wird jede Anfrage eine Datei oder ein Verzeichnis, welches nicht existiert, auf die index.php von Wordpress weitergegeben. Hierdurch ist es möglich, "lesbare" Adressen zu erhalten.[3]
Komprimierung von Dateien
<IfModule mod_deflate.c> AddOutputFilterByType DEFLATE text/plain AddOutputFilterByType DEFLATE text/html AddOutputFilterByType DEFLATE text/xml AddOutputFilterByType DEFLATE text/shtml AddOutputFilterByType DEFLATE text/css AddOutputFilterByType DEFLATE application/xml AddOutputFilterByType DEFLATE application/xhtml+xml AddOutputFilterByType DEFLATE application/rss+xml AddOutputFilterByType DEFLATE application/javascript AddOutputFilterByType DEFLATE application/x-javascript </IfModule>
Tipps und Tricks
.htaccess unter Windows erstellen:
- Datei mit Editor erstellen.
- Abspeichern mit Dateityp: Alle Dateien.[5]
Links
|