Aggiornare WordPress con redirect

Da AldoWiki.

Quando, durante l'aggiornamento di WordPress, cancelliamo i file del CMS, un eventuale visitatore che si trovasse a passare dal blog riceverebbe un errore: il visitatore non sa che stiamo aggiornando WordPress e magari pensa ad un errore di sistema.

Per evitare ciò, specialmente se non siamo rapidi nell'effettuare l'aggiornamento, possiamo reindirizzare (redirect) i visitatori in un pagina apposita, che accolga i visitatori e spieghi loro cosa sta succedendo.

Per fare ciò dobbiamo:

  1. creare una pagina HTML (con tanto di stili CSS incorporati, se lo si desidera);
  2. modificare il file .htaccess[1] presente nella radice (root) del nostro sito.

Il file .htaccess è un file di testo che il server Apache legge prima di far visualizzare i contenuti di una directory ed esegue le istruzioni (se così è stato configurato) in esso contenute. Per cui è possibile stabilire, tramite regole, come debba comportarsi.

Indice

Creazione della pagina HTML

Per chi conosce l'HTML sarà un giochetto realizzare una pagina da far visualizzare temporaneamente. Per chi avesse difficoltà ecco un codice già pronto, così come lo uso io nel mio blog:

<!--
        index.html
 
        Copyright 2008 Aldo Latino <aldolat@gmail.com>
 
        This program is free software; you can redistribute it and/or modify
        it under the terms of the GNU General Public License as published by
        the Free Software Foundation; either version 2 of the License, or
        (at your option) any later version.
 
        This program is distributed in the hope that it will be useful,
        but WITHOUT ANY WARRANTY; without even the implied warranty of
        MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
        GNU General Public License for more details.
 
        You should have received a copy of the GNU General Public License
        along with this program; if not, write to the Free Software
        Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
        MA 02110-1301, USA.
-->
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
 
<head>
	<title>Il mio blog - Manutenzione</title>
	<meta http-equiv="content-type" content="text/html;charset=utf-8" />
	<meta name="generator" content="Geany 0.13" />
 
	<style type="text/css">
		body {
			background-color: #E4E0D2;
			color: #3d3d3d;
		}
		.container {
			width: 918px;
			height: 180px;
			position: absolute;
			left: 50%;
			top: 50%;
			margin-left: -470px;
			margin-top: -90px;
			-moz-border-radius-bottomright: 30px;
			-moz-border-radius-topleft: 30px;
			background-color: #FCFCFC;
			border: 1px solid #BDB69E;
			padding: 5px 5px 5px 15px;
		}
		.box {
			text-align: center;
		}
		.titolo {
			font: 24px Georgia, "Times New Roman", Times, Serif;
			font-style: italic;
		}
		.testo {
			font: 15px Georgia, "Times New Roman", Times, Serif;
		}
		.emoticon {
			font: 24px Georgia, "Times New Roman", Times, Serif;
			margin-top: 25px;
			color: #AFA684;
		}
	</style>
 
</head>
 
<body>
 
	<div class="container">
 
		<div class="box">
			<p class="titolo">Il mio blog è in manutenzione.</p>
			<p class="testo">Un attimo di pazienza...</p>
			<p class="emoticon">;)</p>
		</div>
 
	</div>
 
</body>
</html>

Copiatelo, incollatelo in un file di puro testo (non usate word processor) e modificate le parti come:

<title>Il mio blog - Manutenzione</title>
...
<p class="titolo">Il mio blog è in manutenzione.</p>

Salvatelo quindi come lavori-in-corso.html[2] e caricatelo sul vostro server.

Modifica del file .htaccess

Se preleviamo il file .htaccess dalla root nostro sito e lo scarichiamo in locale, vedremo che è composto all'incirca da queste righe:

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

Queste regole sono state scritte da WordPress quando l'avete installato la prima volta. Noi possiamo aggiungerne altre.

Sopra di esse incolliamo queste righe:

### INIZIA IL REDIRECT TEMPORANEO DEL SITO DURANTE GLI AGGIORNAMENTI ###
<Limit GET POST PUT>
order deny,allow
deny from all
## AGGIORNARE IL SOTTOSTANTE INDIRIZZO IP CON IL PROPRIO PRIMA DI PROCEDERE ##
allow from 123.123.123.123
</LIMIT>
ErrorDocument 403 /lavori-in-corso.html
<Files lavori-in-corso.html>
order allow,deny
allow from all
</Files>
### FINISCE IL REDIRECT TEMPORANEO DEL SITO DURANTE GLI AGGIORNAMENTI ###

Un cancelletto (#) presente ad inizio riga indica ad Apache che quelle righe sono dei commenti, per cui lui ignora l'intera riga.
Si ponga attenzione alla riga

allow from 123.123.123.123

bisogna modificare quella serie di numeri con l'attuale indirizzo IP che vi è stato assegnato. In Linux basta dare nel terminale:

ifconfig

per conoscerlo: è preceduto dalla stringa inet addr:. Inserire il vostro numero IP, salvare il file e uploadatelo sul server.

Alternativamente, specie se si è dietro un router, si può aprire il seguente indirizzo

http://www.whatsmyip.org/

e leggere il numero IP riportato.

Da questo momento chiunque nel web (eccetto chi abbia l'indirizzo IP specificato, cioè voi) vedrà la pagina lavori-in-corso.html, mentre voi vedrete il sito tranquillamente.

Ora potete procedere con l'aggiornamento.

Quando avrete finito, aprite l'.htaccess che ancora avete in locale e commentate tutte le righe delle regole che avevate incollato, cioè da <Limit GET fino a </Files>, ottenendo così:

### INIZIA IL REDIRECT TEMPORANEO DEL SITO DURANTE GLI AGGIORNAMENTI ###
#<Limit GET POST PUT>
#order deny,allow
#deny from all
## AGGIORNARE IL SOTTOSTANTE INDIRIZZO IP CON IL PROPRIO PRIMA DI PROCEDERE ##
#allow from 123.123.123.123
#</LIMIT>
#ErrorDocument 403 /lavori-in-corso.html
#<Files lavori-in-corso.html>
#order allow,deny
#allow from all
#</Files>
### FINISCE IL REDIRECT TEMPORANEO DEL SITO DURANTE GLI AGGIORNAMENTI ###

Ricaricate l'.htaccess sul server. Tutti adesso torneranno a poter visitare il sito.

Note

  1. ^ Attenzione al fatto che il file presenta un punto all'inizio del nome: questo perché è un file nascosto. Se con vostro client FTP non lo vedete, attivate nelle sue preferenze l'opzione "Visualizza i file nascosti".
  2. ^ O come preferite. L'importante che il nome del file e il richiamo dello stesso nel file .htaccess sia uguale.
Strumenti personali
Namespace
Varianti
Azioni
Navigazione
Argomenti
ExtraWiki
Strumenti