私のWordpressのブログが突然カテゴリページにアクセスすると404エラーを出し始めたようです。たとえば、 http://blog.rtwilson.com/category/tok-related/ のようになります。興味深いことに、これは子供のカテゴリ(上記のリンクのサイドバーに表示されるGISやリモートセンシングなど)では発生しませんが、親のカテゴリ(例:学術)および子供のいないカテゴリ(TOK関連など)では発生します。
なぜこれが起こったのか、誰かが何か考えを持っていますか?私は最近、自分のブログ投稿自体のパーマリンク構造を変更しましたが、カテゴリについては変更しませんでした。どういうわけかカテゴリリストを再構築する必要がありますか?もしそうなら、どうですか?
更新 .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
最初に試すことはWordPressの管理者からあなたのパーマリンクを保存し直すことです。
そして、あなたの変更が.htaccess
に保存されていることを確認してください。 WPが.htaccess
が書き込み不可であることを警告している場合は、手動でFTPを使用して.htaccess
ファイルの権限を644に変更してからやり直してください。
「。」ファイル名の前にある場合は通常は表示されないファイルであるため、Webディレクトリに.htaccess
ファイルが表示されない場合は、表示されないファイルが表示されるようにFTPクライアントを確認してください。 .htaccess
ファイルは、[全般オプション]ページの[サイトアドレス(URL)]設定で示されるindex.php
ファイルと同じディレクトリレベルにあります。
これは標準の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
500サーバーエラーが発生した場合、それはファイルの文字エンコードが間違っていることを意味し、.htaccessファイルを編集したときに変更された可能性があります。現在の.htaccessファイルの名前を変更して、FTPクライアントを使用して新しいファイルを作成し、.htaccessという名前を付けることができます。
パーマリンクを保存しても.htaccess
ファイルに上記の書き換えブロックがあることを確認してもまだ404や奇妙な動作をする場合は、以下を追加してみてください。
global $wp_rewrite; $wp_rewrite->flush_rules();
テーマのfunctions.phpファイルで、戻ってホームページを更新してからコードを削除します。これにより、キャッシュ内および一時的な書き換え規則が消去されます。
パーマリンクの使い方"WordPress Codex にトラブルシューティングのヒントや例がもっとあります。
私は同じ種類の問題を抱えていました。
私は同じ問題を抱えていた - 私は 'advanced permalinks'プラグインをインストールしました、そしてそれはバグを持っています...この行をコメントアウトしていることがわかります
$this->add_filter ('category_rewrite_rules');
プラグインで。 Oringalの回答は私のものではありませんが(それは私のために働いたが) here からのものです
2015年3月31日にJohn Godleyによる "Advance Permalink"プランジンをインストールしました。以前のパーマリンク構造を http://punch2crunch.com にリダイレクトします。
36時間後に私のすべての同僚が自動的に404エラーを作成し始め、1つのカテゴリが動作しますが、単一の投稿には病気です。これがあなたと一緒に起こっているならば、あなたはものだけを貼り付けなければなりません。
手順に従ってください:
コードの下に表示されるまで下にスクロールします
$this->add_filter ('post_rewrite_rules');
$this->add_filter ('author_rewrite_rules');
$this->add_filter ('category_rewrite_rules');
$this->add_filter ('rewrite_rules_array');
// $ this-> add_filter( 'category_rewrite_rules');の前に単純に2つのスラッシュ//を付けます。以下のように
$this->add_filter ('post_rewrite_rules');
$this->add_filter ('author_rewrite_rules');
//$this->add_filter ('category_rewrite_rules');
$this->add_filter ('rewrite_rules_array');
サイトを更新すると、すべてが再び完璧に機能し始めます。そうでなければ、それから他の場所を見つける必要があります。
なぜこれが起こったのか、誰かが何か考えを持っていますか?
このページに404エラーは表示されませんが、質問に答えます。なぜこれが発生するのか、発生しないのかわかりません。
私は最近、自分のブログ投稿自体のパーマリンク構造を変更しましたが、カテゴリについては変更しませんでした。どういうわけかカテゴリリストを再構築する必要がありますか?
Adminでパーマリンク構造を変更するたびに、パーマリンクは自動的に再構築されるので、それについて気にする必要はありません。そして、カテゴリリストを再構築するようなことはありませんので、あなたはそれについて疑問に思う必要はありません。