WordPress e plugin di Redirect – Errore 404 del Server
Se stai usando WordPress e ti è capitato di spostarti da un dominio a un altro, o hai semplicemente cambiato gli URL per renderli più leggibili, facili da ricordare o semplicemente diversi, probabilmente non vuoi perdere il duro lavoro che hai fatto per ottenere l’indicizzazione dei motori di ricerca!
In questo caso, puoi utilizzare uno dei tanti plugin di WordPress per ottenere questo risultato, suggerirei Redirection by John Godley per la sua semplicità d’utilizzo, il fatto che è gratuito e le fantastiche funzionalità che fornisce, come l’importazione/esportazione tramite file JSON.
Non parlerò di come installarlo, come usarlo e nient’altro sul plugin, perché non è lo scopo dell’articolo e perché è anche semplicissimo.
Il Contesto
Vorrei invece mostrare cosa ho dovuto affrontare quando ho provato a reindirizzare i miei vecchi URL del sito a quelli nuovi. Consideriamo che sto usando lo stesso dominio, ma avevo un’installazione di Joomla in una sottocartella denominata /site/
e ora il mio WordPress è installato in una sottocartella denominata /wp/
.
Ho dovuto reindirizzare URL di questo tipo:
https://texnostuff.com/site/nome-dell-articolo
in questo altro tipo di URL, dove si può notare anche l’indicazione della lingua:
https://texnostuff.com/wp/it/nome-dell-articolo-ma-un-po-più-curato
È stato semplicissimo con il plug-in Redirection by John Godley, ma in pratica non ho visto alcun risultato e ogni volta che scrivevo i vecchi URL nella barra degli indirizzi del browser, o verificavo il reindirizzamento direttamente tramite il plug-in, ricevevo una risposta 404:
![Redirect issue shown by the Redirection plugin](https://texnostuff.com/wp/wp-content/uploads/2022/06/001_Wrong_Redirect-1024x299.png)
La cosa che ha attirato la mia attenzione, è stata che la pagina di errore 404 non era quella fornita da WordPress, ma veniva fornita direttamente dal server web!
Il Problema
Grazie a questo e a dei test che ho fatto per trovare il problema, ho visto che se un URL non esistente puntava almeno all’interno della cartella /wp/
, la pagina di errore 404 era fornita da WordPress, altrimenti direttamente dal Web Server.
La Soluzione
La soluzione è quella di intercettare tutti gli Errori 404 sul dominio http://texnostuff.com
e reindirizzarli a WordPress. In questo modo, se l’URL richiesto è stato aggiunto al plugin Redirection viene gestito da quest’ultimo, altrimenti viene mostrata la Pagina di errore 404 di WordPress.
Come Applicare la soluzione
Accedi al server web in cui è installato WordPress e cerca il file .htaccess nella cartella root public_html:
![](https://texnostuff.com/wp/wp-content/uploads/2022/06/002_File-System-on-the-server-1024x615.png)
public_html/wp/
folder).Apri il file .htaccess
con un editor di testo e aggiungi le righe di codice sotto. Dato che sto usando cPanel, posso modificare il file direttamente online.
![](https://texnostuff.com/wp/wp-content/uploads/2022/06/003_Code-in-htaccess-file-on-the-server-main-folder.png)
Con queste righe di codice stiamo dicendo al server che, in caso di errore 404, dovrebbe cercare la pagina di errore nella cartella /wp/
, e facendo ciò, la gestione dell’errore 404 è richiesta a WordPress e al plugin di reindirizzamento se configurato per farlo.
Verificare la Soluzione
Per confermare la risoluzione, torna al plug-in Redirection e verifica alcune delle regole di reindirizzamento che hai:
![](https://texnostuff.com/wp/wp-content/uploads/2022/06/004_Right_Redirect_polylang-1024x534.png)
![](https://texnostuff.com/wp/wp-content/uploads/2022/06/005_Right_Redirect-1024x495.png)
![](https://texnostuff.com/wp/wp-content/uploads/2022/06/006_Temp-Redirect-1024x410.png)