Przykład 1: nowa strona internetowa pod adresem example.com
Dane wejściowe:
- Domena: example.com
- Wymuś HTTPS, adres zawsze bez www
- Kompresja GZIP włączona
- Buforowanie: obrazy przez 1 miesiąc, CSS i JavaScript przez 1 tydzień, HTML sprawdzany za każdym razem
- Wyłącz listy katalogowe
Wynik (.htaccess):
# Plik .htaccess wygenerowano za pomocą generatora .htaccess od ZAP-Hosting
# Przed przesłaniem utwórz kopię zapasową i najpierw sprawdź plik w środowisku testowym.
# HTTPS i forma zapisu domeny
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.example\.com$ [NC]
RewriteRule ^ https://example.com%{REQUEST_URI} [L,R=301]
RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
# Ogólne i bezpieczeństwo
Options -Indexes
# Kompresja
<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/html text/plain text/css text/xml text/javascript application/javascript application/json application/ld+json application/xml application/xhtml+xml application/rss+xml application/atom+xml image/svg+xml image/x-icon font/ttf font/otf application/vnd.ms-fontobject
</IfModule>
# Buforowanie w przeglądarce
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/jpeg "access plus 1 month"
ExpiresByType image/png "access plus 1 month"
ExpiresByType image/gif "access plus 1 month"
ExpiresByType image/webp "access plus 1 month"
ExpiresByType image/avif "access plus 1 month"
ExpiresByType image/svg+xml "access plus 1 month"
ExpiresByType image/x-icon "access plus 1 month"
ExpiresByType text/css "access plus 1 week"
ExpiresByType text/javascript "access plus 1 week"
ExpiresByType application/javascript "access plus 1 week"
ExpiresByType text/html "access plus 0 seconds"
ExpiresByType application/xhtml+xml "access plus 0 seconds"
</IfModule>
Wynik w słowach: Adres taki jak http://www.example.com/seite jest przekierowywany bezpośrednio na https://example.com/seite za pomocą przekierowania 301. Żądania przez http:// bez www również trafiają przez 301 na https://. Obrazy pozostają w pamięci podręcznej przeglądarki przez 1 miesiąc (max-age=2592000), CSS i JavaScript przez 1 tydzień, a strony HTML są sprawdzane ponownie przy każdej wizycie. HTML, CSS, JavaScript i JSON są przesyłane z kompresją GZIP. Osoba otwierająca folder bez pliku index nie zobaczy już listy plików, lecz błąd 403.
