.htaccess

Aus Flinkwiki
Wechseln zu: Navigation, Suche



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

selfhtml: mod_rewrite

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> 

[4]


Tipps und Tricks

.htaccess unter Windows erstellen:

  • Datei mit Editor erstellen.
  • Abspeichern mit Dateityp: Alle Dateien.[5]

Links



|