Binatomy
Web Server

Generatore .htaccess

Crea rapidamente le regole del file .htaccess per Apache: HTTPS, redirect www, compressione, cache e altro

Opzioni

# --- 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>
FAQ

Domande Frequenti

Tutto quello che devi sapere sul file .htaccess

Cos'è il file .htaccess e dove va messo?

Il file .htaccess è un file di configurazione del server web Apache che permette di definire regole a livello di directory: redirect, riscrittura URL, sicurezza, cache e compressione. Va posizionato nella cartella radice del tuo sito (di solito public_html o www) e ha effetto su quella cartella e le sue sottocartelle. Il nome inizia con un punto e non ha estensione.

Funziona su Nginx?

No, il file .htaccess è specifico di Apache (e server compatibili come LiteSpeed). Nginx non usa .htaccess: le stesse regole vanno tradotte nella configurazione del server (blocchi server/location in nginx.conf). Se il tuo hosting usa Nginx, questo file non avrà effetto.

Il mio sito dà errore 500 dopo aver caricato il file, perché?

Un errore 500 dopo la modifica di .htaccess di solito significa che un modulo richiesto (mod_rewrite, mod_deflate, mod_expires) non è abilitato sul server, oppure c'è un errore di sintassi. Le regole qui sono racchiuse in blocchi <IfModule> proprio per evitare crash se un modulo manca. Se persiste, rimuovi le regole una alla volta per individuare quella problematica e verifica con il tuo hosting quali moduli sono attivi. Fai sempre un backup del file precedente.

Qu'est-ce que le fichier htaccess ?

C'est le fichier de configuration qui donne des règles à un dossier sur Apache : redirections, réécriture d'adresses, cache, compression et restrictions. Il se place à la racine du site.

Fonctionne-t-il aussi sur Nginx ?

Non, htaccess est lu par Apache et les serveurs compatibles comme LiteSpeed. Sur Nginx, les mêmes règles doivent être réécrites dans la configuration du serveur, dans les blocs server et location.

Pourquoi le site renvoie-t-il une erreur 500 après modification ?

Le plus souvent, un module manque parmi mod_rewrite, mod_deflate et mod_expires, ou il y a une erreur de syntaxe. C'est pourquoi les règles générées sont placées dans des blocs IfModule.