Come abilitare la modalità manutenzione con .htaccess sul tuo sito senza l’utilizzo di plugin? Questa è la domanda alla quale stavo cercando la risposta. Però non sono riuscito a trovarla subito. Ovvero si, ma non tutti gli snippet funzionavano.
Cosa bisogna fare per mettere il sito in manutenzione con .htaccess?
1. Prima di tutto abbiamo bisogno dello snippet, te lo allego qui sotto.
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REMOTE_ADDR} !^00\.000\.000\.000
RewriteCond %{REQUEST_URI} !/manutenzione/index.html$ [NC]
RewriteCond %{REQUEST_URI} !\.(jpe?g?|png|gif|css|js) [NC]
RewriteRule .* /manutenzione/index.html [R=302,L]
</IfModule>
Questo snippet deve essere inserito nel file .htaccess, se non è presente, crealo e inserisci dentro questo snippet, ti avviso che potrebbe andare in conflitto con i contenuti già inseriti se non funziona ti consiglio di commentare momentaneamente il resto del codice presente nel file e lasciare solamente le qui presenti righe.
2. Dobbiamo scegliere la pagina “In Manutenzione”
Per esempio ti posso allegare un template gratuito e facilmente modificabile con html. Basta scaricarlo ed estrarlo dal file zip e inserirlo nella route principale del sito.

3. Configurazione .htaccess
Ritornando a noi, una volta caricato il template modificato in base alle tue esigenze nella route principale. Riapriamo il nostro .htaccess e iniziamo la configuazione.
Prima di tutto avrai bisogno di indicare il tuo IP statico. Potrai utilizzare la risorsa che ti indico qui sotto per scoprire il tuo indirizzo IP in un batter d’occhio.
Una volta scoperto, copialo ed inseriscilo in questa riga al posto degli zero:
RewriteCond %{REMOTE_ADDR} !=00.00.000.000
Ottimo, ci siamo quasi! Perché so stiamo facendo? In pratica il tuo sito web rimarrà aperto e visibile solamente al tuo indirizzo IP per gli altri utenti rimarrà chiuso, in questo modo potrai operare sui file solamente te stesso.
Ok, adiamo avanti, sicuramente ritroverai un index.html nella tua route principale, questo è il file che dobbiamo far vedere agli utenti che visiteranno il tuo sito (la pagina in manutenzione). Dovresti inserire la directory di questo file in questi due punti:
RewriteCond %{REQUEST_URI} !/manutenzione.html$ [NC] // qui
// diventerà
RewriteCond %{REQUEST_URI} !/index.html$ [NC]
e anche in questo punto:
RewriteRule .* /manutenzione.html [R=302,L] //qui
// diventerà
RewriteRule .* /index.html [R=302,L] //qui
A questo punto il tuo sito sarà in manutenzione e aperto solamente al tuo indirizzo IP.
Scopri anche Come si gestiscono gli array con Javascript