Realizzazione e Creazione Siti Wordpress

Sito in manutenzione tramite htaccess senza utilizzare plugin



(Aggiornato il 18/07/2015)
In questo articolo spiego come impostare un sito in manutenzione tramite htaccess e senza utilizzare plugin.

Impostare il sito in manutenzione tramite htaccess, oltre che a poterlo mettere in manutenzione senza utilizzare plugin aggiuntivi, permette la possibilità di configurare tramite indirizzo IP chi potrà visualizzare il sito online e chi invece visualizzerà il sito in manutenzione.


La prima cosa da fare ovviamente è creare la pagina di manutenzione, niente di complicato, una semplice scritta che comunica sito in manutenzione, torniamo subito, grazie della pazienza ecc ecc…!

Aprite il blocco note e inserite al suo interno il seguente codice:
 

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Sito in Manutenzione</title>
</head>

<body>
<p align="center">&nbsp;</p>
<p align="center"><strong>SITO IN MANUTENZIONE</strong></p>
<p align="center"><strong>TORNIAMO PRESTO</strong></p>
<p align="center"><strong>GRAZIE PER LA PAZIENZA! </strong></p>
</body>
</html>

 
Se siete pratici di HTML potete eventualmente modificare il codice a vostro piacimento, salvate il file con il nome “sitomanutenzione.html”. Segue foto del risultato…
 

Sito in manutenzione

 
Dopo averlo salvato caricatelo tramite FTP all’interno della root del sito il quale volete mettere in manutenzione.
 

SITO IN MANUTENZIONE TRAMITE HTACCESS:

 
L’ultimo passaggio sarà quello di inserire le direttive nel file htaccess, ovviamente salvate il file htaccess originale per poterlo ripristinare una volta che avrete deciso di eliminare la modalità di manutenzione.

Fate una copia del file htaccess originale, aprite il nuovo file con il blocco note e inserite le nuove direttive riportate di seguito per:
 

REDIRECT A PAGINA DI MANUTENZIONE:

 

# REDIRECT MANUTENZIONE SITO
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REMOTE_ADDR} !^87\.87\.87\.87
RewriteCond %{REQUEST_URI} !/sitomanutenzione.html$ [NC]
RewriteRule .* /sitomanutenzione.html [R=307,L]
</IfModule>

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

 
Dopo aver inserito le direttive vi basterà sostituire tutti i numeri “87” con i numeri del vostro indirizzo IP, questo vi permetterà di visualizzare il sito a differenza di tutti gli altri utenti con un indirizzo IP differente che visualizzeranno il sito in manutenzione e verranno reindirizzati alla pagina “sitomanutenzione.html“.

Nel caso vogliate permettere la visualizzazione del sito ad altre persone specifiche, quindi con un indirizzo IP specifico, vi basterà inserire un’altra riga uguale a quella contenente in numeri “87” e modificare i numeri con l’indirizzo IP della persona specifica che potrà visualizzare il sito online.

A differenza di altri siti che riportano solo il codice per il redirect del sito alla pagina di manutenzione, qui sono inserite anche le direttive htaccess di default di wordpress, quelle contenute tra i tag “BEGIN WordPress” e “END WordPress”.

Pur impostando il vostro indirizzo IP che impedisce di farvi visualizzare il sito in manutenzione, l’inserimento delle direttive htaccess di default di wordpress evita la possibilità che siano bloccate alcune pagine differenti dalla homepage del sito che potrebbero restituire un errore “404 Not Found”, questo dovuto ad alcuni hosting con regole di impostazioni diverse.
 

MANUTENZIONE E REDIRECT A SITO WEB:

 
Nel caso vogliate impostare il sito in manutenzione, ma invece di creare un redirect ad una pagina reindirizzare ad un’altro sito, qui di seguito riporto le direttive da inserire nel file htaccess, vi basterà sostituire il link di esempio con l’indirizzo del sito al quale reindirizzare tutti gli utenti.
 

# REDIRECT MANUTENZIONE SITO
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REMOTE_ADDR} !^87\.12\.39\.183
RewriteCond %{REQUEST_URI} !^/www.miosito\.it$
RewriteRule ^(.*)$ http://www.miosito.it/ [R=307,L]
</IfModule>

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

 
Ultima cosa da segnalare è la direttiva [R=307,L] che specifica ai motori di ricerca che la condizione del reindirizzamento è temporanea (Temporary redirect).

Articoli per file htaccess:



Vietata la Riproduzione.
Protezione Copyright

Sito in manutenzione tramite htaccess senza utilizzare plugin ultima modifica: 2013-10-14T16:30:58+00:00 da Admin-Fausto
4 Commenti
  1. Ciao, bell’ articolo. Non è più indicato però dare il codice stato 503 anzicchè il 307 ? E soprattutto inserire un retry after può essere una scelta giusta per far si che sia googlebot che gli utenti siano avvisati che quel server è in manutenzione, ma che nn ci sono problemi sul sito.

    Inoltre una domanda : ma per far visualizzare ad un unico ip se io scrivo : RewriteCond %{REMOTE_ADDR} !^ip.del.server.sito$ e poi aggiungo anche RewriteCond %{REMOTE_ADDR} !^87\.12\.39\.183 funziona ? ciao e buon lavoro

    • Salve Roberto, lo stato 503 diciamo che è più specifico in caso di manutenzione/errore server mentre lo stato 307 indica solamente che è presente un redirect temporaneo ad un’altra pagina (in questo caso sitomanutenzione.html).

      Per la tua seconda domanda non lo so, potrebbe funzionare basta solo testarlo. Ciao.

  2. Ciao,
    molto interessante per chi come me ha poca dimestichezza con htaccess.
    La mia esigenza però è un po’ diversa: vorrei usare un index.html con reidrect ad altro sito e mantenere il sito wordpress in manutenzione su index.php.
    Se cambio semplicemente le priorità funziona il redirect sempre! E non riesco quindi in pratica ad accedere alla home del sito wordpress.
    Cosa dovrei modificare?

    • Salve Elena, l’ultima funzione htaccess inserita è proprio la funzione che esegue quello che cerchi, il codice da utilizzare è inserito nell’ultimo “quadrato bianco” dove all’interno trovi scritta la parola “miosito”. Ciao 😀

Lascia un commento