Come mettere un sito “in costruzione” via .htaccess

Come mettere un sito “in costruzione” via .htaccess

Durante la manutenzione di un sito, ad esempio per aggiornamenti consistenti e soprattutto nel caso in cui siano da definire redirect di vario tipo, può essere importante mettere il sito rapidamente “in manutenzione” in modo che nessuno possa visionare pagine parziali, obsolete o del tutto errate.

Ho già illustrato in precedenza come mettere WordPress in manutenzione, in questo caso mi concentro su una circostanza molto più generale.

Mi riferisco infatti ad un sito PHP qualsiasi, che giri sotto server Apache a prescindere dal database usato (MySQL o altri).

Per agire in questa direzione, è molto semplice:

  1. andiamo nella root del sito, ed editiamo il file .htaccess via FTP; prima di modificarlo, meglio scaricarsi una copia di backup in modo da poter rimettere rapidamente a posto le cose dopo aver finito la manutenzione. Per sapere come effettuare le operazioni basilari su FileZilla, uno dei client FTP più diffusi, leggete il tutorial che ho scritto ieri.
  2. cancelliamo tutto quello che sia presente in questo file, ed inseriamo il contenuto riportato di seguito.

Per mettere qualsiasi sito in manutenzione, cioè per far apparire una pagina “in manutenzione” a qualsiasi visitatore (amministratori del sito inclusi), scriviamo nel file .htaccess:

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} !^/maintenance\.html$
RewriteRule ^(.*)$ http://www.indirizzosito.it/maintenance.html [R=307,L]

Questo, come suggerito dall’ottima guida di David Walsh, permette di mettere in manutenzione il sito ovvero di redirezionare mediante redirect 307 (una redirezione temporanea, in pratica, che non verrà indicizzata dai motori di ricerca) tutto il traffico alla pagina maintenance.html, il quale deve essere un file HTML statico contenente il messaggio che vogliamo dare ai visitatori.

Per fare una cosa più raffinata, possiamo anche permettere ad un indirizzo IP (ad esempio il nostro, nell’esempio xxx.yyy.zzz.kkk, scopri qui come trovarlo) di visionare il sito come sempre, aggiungendo una direttiva esplicita. In questo modo xxx.yyy.zzz.kkk sarà “autorizzato” a visionare normalmente il traffico, ed è anche possibile aggiungere più di un IP “speciale” ripetendo la riga indicata più volte nel file .htaccess.

RewriteEngine On
RewriteBase /

RewriteCond %{REMOTE_ADDR} !^xxx\.yyy\.zzz\.kkk
RewriteCond %{REQUEST_URI} !^/maintenance\.html$
RewriteRule ^(.*)$ http://www.indirizzosito.it/maintenance.html [R=307,L]

Per far tornare tutto come prima, è sufficente cancellare maintenance.html e ripristinare il file originale .htaccess che avete (sperabilmente) salvato all’inizio come backup. Per far “vedere” le modifiche al vostro browser, è opportuno ogni volta svuotare la cache del DNS.

Scopri tutto quello che c’è da sapere sul file .htaccess partendo da qui.

Photo by ell brown


Ti piace questo articolo?

4 voti

Su Trovalost.it puntiamo sulla qualità dei contenuti da quando siamo nati: la tua sincera valutazione può aiutarci a migliorare ogni giorno.

Come mettere un sito “in costruzione” via .htaccess

Durante la manutenzione di un sito, ad esempio per aggiornamenti …
Votato 10 / 10, campione di 4 utenti

Ti potrebbero interessare (Guide per webmaster):

Cerca altro nel sito

Clicca sul box, e scegli la sezione per vederne i contenuti.