Nell’impostare un nuovo sito web o nel rimodularne le fattezze, può capitare di dovergli cambiare indirizzo. Nel mio caso ho riscontrato alcuni problemi usando l’accoppiata Apache+WordPress nel tentativo di rendere l’indirizzo predefinito e forzato quello che comprende il www iniziale. Volevo quindi un sito con il seguente formato www.miosito.com. Anche quando l’utente digitava solo miosito.com, io volevo che venisse reindirizzato a www.miosito.com.
Pensavo di poter risolvere il tutto con un reindirizzamento, con un server virtuale di apache e/o con un file htaccess. Ed infatti queste sono le soluzioni che troverete nella maggior parte dei casi se tentate di risolvere il problema. Dopo innumerevoli tentativi ho capito che qualcosa non quadrava col mio setup. Il problema era WordPress. WordPress infatti imposta da solo un file htaccess che va in conflitto con le impostazioni personalizzate che si tentano di impartire ad Apache. Pertanto quello che vi suggerisco è di dare un’impostazione ad apache la più semplice possibile e funzionante al solo scopo di riuscire ad entrare nella dashboard di WordPress per poi apportare le necessarie modifiche da li.
Un esempio: reindirizzare una dominio naked o spoglio a un indirizzo www
Se quindi voleste fare in modo che il vostro dominio appaia sempre con il www, seguite questi passi:
- Eliminate eventuali record con host www dal vostro gestore DNS
- Impostate un record A nel vostro gestore DNS, con host www e nella casella IPV4 indicate l’indirizzo ip assegnato da vostro fornitore di servizio hosting o server.
- impostate un server virtuale creando un file miosito.conf nella cartella /etc/apache2/sites-available/ del server e poi incollate il seguente codice all’interno:
<VirtualHost *:80>
ServerName www.miosito.com
ServerAlias miosito.com
DocumentRoot /var/www/miosito/
</VirtualHost>
Le righe di codice appena scritte creano un server virtuale a www.miosito.com e poi un alias, cioè un altro nome o indirizzo che punta alla stessa cartella /var/www/miosito/ nella quale naturalmente è contenuto il vostro sito web.
- Lato Apache abbiamo sostanzialmente finito, non rimane che caricare il file di configurazione appena creato, abilitare il sito e riavviare il servizio Apache2 dalla CLI con i due seguenti comandi:
$ a2ensite miosito.conf
$ systemctl reload apache2
- A questo punto controllare che le operazioni abbiano dato i loro frutti digitando nella barra degli indirizzi del vostro browser sia l’indirizzo con il www che quello senza www. Entrambi dovrebbero puntare alla vostra pagina web(se già ci avete lavorato) o a quella iniziale di WordPress. Tuttavia l’importante è che almeno uno dei due faccia vedere il vostro sito.
- A questo punto occorrerà generare un certificato SSL, e noi vi suggeriamo caldamente, per operare gratuitamente, l’accoppiata Certbot+Let’s Encrypt. L’uso di questi due servizi esula dallo scopo di questo articolo. Supporremo quindi che abbiate già installato Certbot e che sia funzionante. Per generare quindi un certificato lanciare il comando:
$ certbot --apache
e digitare i numeri corripondenti a www.miosito.com e miosito.com che appaiono nella lista, separati da una virgola, e poi Invio. Certbot genererà quindi un certificato che garantirà di non avere più problemi di certficazione quando si accede al sito.
- A questo punto si acceda alla dashboard di WordPress dall’indirizzo www.miosito.com/wp-login.php o dal corrispondente senza www (a seconda di quello che vi funziona) e si acceda alle impostazioni in basso a sinistra. Da qui non rimane che cambiare i due campi Indirizzo WordPress (URL) e Indirizzo sito (URL).

- Si utilizzi l’indirizzo che si vuole predefinito. I due indirizzi possono essere scelti diversi, tuttavia in questo caso li scegliamo coincidenti. Io ho usato http://www.miosito.com in entrambe i campi. Nessuno vi vieta tuttavia di usare la forma senza www. Lo standard più comune e tradizionale tuttavia è quello di usare l’indirizzo con il www.