# ----------
# WordPress .htaccess
# ----------
# Erstellt von was-mit-internet.de
# ----------
# Ausklammern von Zeilen mittels #
# Blogpost zum Thema: https://www.was-mit-internet.de/htaccess-konfiguration/
# ----------
# BEGIN WordPress
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
# Auslesen der Benutzer verhindern
RewriteCond %{QUERY_STRING} .*author=(.+.?) [NC]
RewriteRule (.*) /?author= [NC,L,R=301]
# END WordPress
# Domainumleitung mit https und www
RewriteCond %{HTTP_HOST} ^domainname.de [NC]
RewriteRule (.*) https://www.domainname.de/$1 [R=301,L]
# ----------
# Interne 301 Weiterleitungen Alt zu Neu
# RedirectPermanent /mein-blogpost/ https://www.domainname.de/mein-aktueller-blogpost/
# ----------
# Kein Image Hotlinking - Ersetzung mit speziellem Bild
# RewriteCond %{HTTP_REFERER} !^$
# RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?domainname.de [NC]
# RewriteRule \.(jpg|jpeg|png|gif)$ https://domainname.de/hotlink.jpg [NC,R,L]
# ----------
# Ordner mit Passwortschutz
# AuthName "Admin-Bereich"
# AuthType Basic
# AuthUserFile /pfadzur/.htpasswd
# require valid-user
# ----------
# Zugriff auf admin-ajax.php zulassen
Order allow,deny
Allow from all
Satisfy any
# ----------
# Zugriff auf bestimmte Datei verhindern
order allow,deny
deny from all
satisfy all
# ----------
# Zugriff mit bestimmter IP-Adresse verhindern
# order allow,deny
# deny from 123.456.7.89
# deny from 10.10.10.20
# allow from all
# ----------
# CACHING KONFIGURATION
# ----------
# Browser Caching
ExpiresActive On
ExpiresByType image/jpg "access 1 month"
ExpiresByType image/jpeg "access 1 month"
ExpiresByType image/gif "access 1 month"
ExpiresByType image/png "access 1 month"
ExpiresByType image/x-icon "access 1 month"
ExpiresByType text/css "access 1 month"
ExpiresByType application/pdf "access 1 month"
ExpiresByType text/x-javascript "access 1 month"
ExpiresByType application/x-shockwave-flash "access 1 month"
ExpiresDefault "access 3 days"
# ----------
# GZIP Komprimierung aktivieren
mod_gzip_on Yes
mod_gzip_dechunk Yes
mod_gzip_item_include file .(html?|txt|css|js|php|pl)$
mod_gzip_item_include handler ^cgi-script$
mod_gzip_item_include mime ^text/.*
mod_gzip_item_include mime ^application/x-javascript.*
mod_gzip_item_exclude mime ^image/.*
mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*
# ----------
# mod_deflate aktivieren
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE text/vtt
AddOutputFilterByType DEFLATE text/x-component
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/js
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript
AddOutputFilterByType DEFLATE application/x-httpd-php
AddOutputFilterByType DEFLATE application/x-httpd-fastphp
AddOutputFilterByType DEFLATE application/atom+xml
AddOutputFilterByType DEFLATE application/json
AddOutputFilterByType DEFLATE application/ld+json
AddOutputFilterByType DEFLATE application/vnd.ms-fontobject
AddOutputFilterByType DEFLATE application/x-font-ttf
AddOutputFilterByType DEFLATE application/font-woff2
AddOutputFilterByType DEFLATE application/x-font-woff
AddOutputFilterByType DEFLATE application/x-web-app-manifest+json font/woff
AddOutputFilterByType DEFLATE font/woff
AddOutputFilterByType DEFLATE font/opentype
AddOutputFilterByType DEFLATE image/svg+xml
AddOutputFilterByType DEFLATE image/x-icon