Ejemplo 1: nueva web en example.com
Entrada:
- Dominio: example.com
- Forzar HTTPS y usar siempre la dirección sin www
- Compresión GZIP activada
- Caché: imágenes durante 1 mes, CSS y JavaScript durante 1 semana; comprobar siempre si hay cambios en el HTML
- Desactivar las listas del directorio
Salida (.htaccess):
# .htaccess generado con el generador de .htaccess de ZAP-Hosting
# Antes de subirlo: haz una copia de seguridad y pruébalo primero en un entorno de pruebas.
# HTTPS y formato del dominio
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]
# General y seguridad
Options -Indexes
# Compresión
<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>
# Caché del navegador
<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>
Resultado en palabras: una dirección como http://www.example.com/seite pasa a https://example.com/seite con una sola redirección 301. Las visitas a http:// sin www también llegan a https:// mediante una redirección 301. Las imágenes permanecen 1 mes en la caché del navegador (max-age=2592000), CSS y JavaScript, 1 semana; las páginas HTML se comprueban de nuevo en cada visita. HTML, CSS, JavaScript y JSON se transfieren comprimidos con GZIP. Quien acceda a una carpeta sin archivo index ya no verá una lista de archivos, sino un error 403.
