Collegamenti alle categorie improvvisamente danno errori 404
Il mio blog WordPress sembra aver iniziato improvvisamente a restituire errori 404 quando accedo alle pagine delle categorie. Ad esempio, http://blog.rtwilson.com/category/tok-related/. Curiosamente, ciò non accade per le sottocategorie (come GIS e Remote Sensing, mostrate nella sidebar del link sopra) ma accade per le categorie genitore (es. Academic) e per le categorie senza figli (come TOK-related).
Qualcuno ha idee sul perché questo potrebbe essere accaduto? Recentemente ho modificato la struttura dei permalink per i post del blog, ma non per le categorie. Devo ricostruire in qualche modo l'elenco delle categorie? Se sì, come?
Aggiornamento Contenuto del file .htaccess:
# 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
La prima cosa da provare è risalvare i permalink dall'amministrazione di WordPress.
Assicurati che le tue modifiche vengano salvate nel file .htaccess
. Se WordPress ti avvisa che .htaccess
non è scrivibile, utilizza manualmente FTP per cambiare i permessi del file .htaccess
a 644 e riprova.
Il "." davanti al nome del file significa che normalmente è invisibile, quindi controlla nel tuo client FTP che sia impostato per visualizzare i file nascosti se non vedi il file .htaccess
nella tua directory web. Il file .htaccess
si trova allo stesso livello della directory del tuo file index.php
, indicato dall'impostazione Indirizzo del sito (URL) nella pagina Opzioni generali.
Questo è un blocco standard di riscrittura di WordPress:
# 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
Se ricevi un errore 500 del server, significa che la codifica dei caratteri del file è errata e potrebbe essere stata modificata quando hai editato il file .htaccess. Puoi provare a rinominare il file .htaccess corrente e utilizzare il tuo client FTP per creare un nuovo file chiamandolo .htaccess.
Se continui a ricevere errori 404 o comportamenti strani dopo aver salvato i permalink e verificato che il file .htaccess
contenga il blocco di riscrittura sopra indicato, prova ad aggiungere
global $wp_rewrite; $wp_rewrite->flush_rules();
nel file functions.php del tuo tema, torna indietro e aggiorna la homepage, poi rimuovi il codice. Questo cancellerà le regole di riscrittura dalla cache e dai transient.
Ci sono ulteriori suggerimenti per la risoluzione dei problemi e esempi su Utilizzo dei Permalink « WordPress Codex

WP non mi ha avvisato di nulla. I permalink per gli articoli del blog funzionano bene, sono solo le pagine delle categorie e non ho cambiato la struttura dei permalink per quelle!

L'ho letto; ma il primo passo è comunque quello di risalvare i tuoi permalink.

Grazie. Ho risalvato le mie preferenze per i permalink e ho controllato il file .htaccess. Il file .htaccess ha un orario di modifica corrispondente al momento in cui ho risalvato le preferenze dei permalink. Ho inserito il contenuto del file .htaccess in fondo alla domanda.

Prova ad aggiungere global $wp_rewrite; $wp_rewrite->flush_rules();
nel file functions.php del tuo tema, torna indietro e aggiorna la homepage, poi rimuovi il codice.

@songdogtech Risposta contenente solo un link. Forse è il caso di aggiornarla visto che sta attirando lettori?

Qualcuno ha idea del perché potrebbe essere successo?
Non ricevo un errore 404 su quella pagina, ma per rispondere alla domanda: non ho idea del perché accada o non accada.
Recentemente ho modificato la struttura dei permalink per gli articoli del mio blog, ma non per le categorie. Devo ricostruire in qualche modo l'elenco delle categorie?
Ogni volta che modifichi la struttura dei permalink dall'amministrazione, i permalink vengono ricostruiti automaticamente, quindi non devi preoccupartene. E non esiste una cosa come "ricostruire l'elenco delle categorie", quindi non devi preoccuparti nemmeno di questo.

Avevo lo stesso problema - avevo installato il plugin 'advanced permalinks', che presenta un bug... ho scoperto che commentando questa riga
$this->add_filter ('category_rewrite_rules');
nel plugin. La risposta originale non è mia (anche se ha funzionato per me) ma proveniva da qui

Ho installato il plugin "Advance Permalink" di John Godley, il 31 marzo 2015 per reindirizzare la mia precedente struttura di permalink di http://punch2crunch.com
Dopo 36 ore tutte le mie categorie hanno iniziato a generare automaticamente errori 404 e una categoria funzionava ma rimaneva bloccata su un singolo post. Se ti sta succedendo la stessa cosa, devi incollare solo una cosa.
Segui i passaggi:
- Dalla dashboard, vai su Plugin, scegli Editor.
- Seleziona "Advance-permalink/Advance-permalink.php"
Scorri verso il basso fino a trovare il codice qui sotto
$this->add_filter ('post_rewrite_rules'); $this->add_filter ('author_rewrite_rules'); $this->add_filter ('category_rewrite_rules'); $this->add_filter ('rewrite_rules_array');
Semplicemente aggiungi due barre // prima di $this->add_filter ('category_rewrite_rules'); come mostrato sotto
$this->add_filter ('post_rewrite_rules'); $this->add_filter ('author_rewrite_rules'); //$this->add_filter ('category_rewrite_rules'); $this->add_filter ('rewrite_rules_array');
Aggiorna il tuo sito e tutto tornerà a funzionare perfettamente. Se non succede, devi cercare altrove la soluzione.

Ho avuto lo stesso tipo di problema.
- Assicurati che il modulo Apache rewrite sia attivato e che il file .htaccess sia corretto
- Se il passo precedente non funziona, vai nelle impostazioni dei permalink e inserisci "category" come base per le categorie
- Alcuni plugin SEO potrebbero causare problemi con le riscritture
- Se hai un plugin di cache, svuotala

Questo mi è successo dopo che il mio host ha migrato su un server diverso. La soluzione per me, come markratledge ha indicato sopra, è stata "risalvare i tuoi permalink dall'amministrazione di WordPress".
Per espandere questo in dettaglio:
Accedi al tuo sito WordPress.
Clicca su Dashboard->Impostazioni->Permalink
Supponendo che la tua impostazione sia su "Nome articolo", seleziona "Numerico" poi il pulsante "Salva".
Ora clicca nuovamente sul pulsante radio "Nome articolo", e seleziona "Salva".
Questo dovrebbe risalvare le tue impostazioni e i tag e le categorie dovrebbero funzionare.
