WordPress mette a disposizione diversi tipi di permalink per raggiungere le pagine e gli articoli tramite link al dominio, ma quelli che rendono più efficace l’indicizzazione sui motori di ricerca sono indubbiamente quelli che contengono il nome della pagina.
Capita spesso però che a causa di una configurazione errata dei virtual-host o del file .httaccess, passare dal permalink semplice contenente l’id dell’articolo a quelli più parlanti come renda la pagina irraggiungibile dopo aver effettuato il salvataggio delle impostazioni, mostrando l’errore
404 page not found
mod_rewrite
Innanzitutto occorre verificare che su apache sia caricata l’estensione mod_rewrite, cosa possibile tramite il comando a2enmod
1 2 3 |
# a2enmod rewrite Module rewrite already enabled |
File virtual host
Controlliamo che nei file virtual host del sito, sia la versione http che l’eventuale versione https, sia presente la seguente direttiva:
1 2 3 4 5 6 7 8 9 |
<VirtualHost ... <Directory /var/www/blog/> Options Indexes FollowSymLinks AllowOverride All Require all granted </Directory> </VirtualHost> |
File .httaccess
Il file .httaccess deve essere scrivibile dall’utente con cui è in esecuzione apache pertanto bisogna controllare che il proprietario del file nella home del sito worpress sia quello corretto e che i permessi siano impostati a 644 o 640
Inoltre dobbiamo verificare che al suo interno sia presente questa sezione di direttive
1 2 3 4 5 6 7 8 |
<IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> |