.htaccess-Generator
Einstellungen
# --- Rewrite rules ---
<IfModule mod_rewrite.c>
RewriteEngine On
# Force HTTPS
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
# Redirect www to non-www
RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
RewriteRule ^(.*)$ https://%1/$1 [L,R=301]
</IfModule>
# --- Gzip compression ---
<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css text/javascript
AddOutputFilterByType DEFLATE application/javascript application/x-javascript application/json
AddOutputFilterByType DEFLATE application/xml application/rss+xml image/svg+xml
</IfModule>
# --- Browser caching ---
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/jpg "access plus 1 year"
ExpiresByType image/jpeg "access plus 1 year"
ExpiresByType image/png "access plus 1 year"
ExpiresByType image/webp "access plus 1 year"
ExpiresByType image/svg+xml "access plus 1 year"
ExpiresByType image/x-icon "access plus 1 year"
ExpiresByType text/css "access plus 1 month"
ExpiresByType application/javascript "access plus 1 month"
ExpiresByType text/html "access plus 1 day"
</IfModule>Häufige Fragen
Was man über die Datei .htaccess wissen sollte
Was ist die Datei .htaccess und wohin gehört sie?
Die .htaccess ist eine Konfigurationsdatei des Webservers Apache, mit der sich Regeln für ein Verzeichnis festlegen lassen: Umleitungen, Umschreiben von Adressen, Sicherheit, Zwischenspeicher und Komprimierung. Sie gehört in den Stammordner der Website, meist public_html oder www, und wirkt dort und in allen Unterordnern. Der Name beginnt mit einem Punkt und hat keine Endung.
Funktioniert sie auf Nginx?
Nein, die .htaccess gehört zu Apache und verträglichen Servern wie LiteSpeed. Nginx kennt sie nicht: Dieselben Regeln müssen in die Serverkonfiguration übersetzt werden, in die Blöcke server und location der nginx.conf. Läuft Ihr Hosting auf Nginx, bleibt die Datei wirkungslos.
Nach dem Hochladen zeigt die Seite einen Fehler 500, warum?
Ein Fehler 500 nach einer Änderung an der .htaccess heißt meist, dass ein nötiges Modul fehlt — mod_rewrite, mod_deflate, mod_expires — oder dass ein Tippfehler drin ist. Die Regeln hier stehen in Blöcken <IfModule>, gerade damit nichts abstürzt, wenn ein Modul fehlt. Bleibt der Fehler, nehmen Sie die Regeln eine nach der anderen heraus und fragen Sie Ihr Hosting, welche Module aktiv sind. Und sichern Sie immer die vorige Datei.
Was ist die Datei htaccess?
Es ist die Konfigurationsdatei, die auf Apache Regeln für einen einzelnen Ordner setzt: Umleitungen, Umschreiben von Adressen, Zwischenspeicher, Komprimierung und Sperren. Sie gehört in den Stammordner der Website.
Funktioniert sie auch auf Nginx?
Nein, htaccess liest Apache und verträgliche Server wie LiteSpeed. Auf Nginx müssen dieselben Regeln in die Serverkonfiguration übertragen werden, in die Blöcke server und location.
Warum gibt die Seite nach der Änderung einen Fehler 500?
Meist fehlt eines der Module mod_rewrite, mod_deflate oder mod_expires, oder es steckt ein Tippfehler drin. Deshalb stehen die erzeugten Regeln in Blöcken IfModule, die sie abschalten, wenn das Modul fehlt.