web-dev-qa-db-ja.com

カテゴリーリンクが突然404エラーを出し始めた

私の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
2
robintw

最初に試すことは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 にトラブルシューティングのヒントや例がもっとあります。

3
markratledge

私は同じ種類の問題を抱えていました。

  • Apacheの書き換えモジュールが有効で適切な.htaccessファイルであることを確認してください。
  • 上記の手順でうまくいかない場合は、固定リンク設定に行き、 "base"としてカテゴリーベースを入力してください。
  • いくつかのSEOプラグイン自身の書き換えはあなたに問題を与えるかもしれません
  • キャッシュプラグインがある場合は、それをクリアしてください。
0
Bala

私は同じ問題を抱えていた - 私は 'advanced permalinks'プラグインをインストールしました、そしてそれはバグを持っています...この行をコメントアウトしていることがわかります

$this->add_filter ('category_rewrite_rules');

プラグインで。 Oringalの回答は私のものではありませんが(それは私のために働いたが) here からのものです

0
Joe

2015年3月31日にJohn Godleyによる "Advance Permalink"プランジンをインストールしました。以前のパーマリンク構造を http://punch2crunch.com にリダイレクトします。

36時間後に私のすべての同僚が自動的に404エラーを作成し始め、1つのカテゴリが動作しますが、単一の投稿には病気です。これがあなたと一緒に起こっているならば、あなたはものだけを貼り付けなければなりません。

手順に従ってください:

  1. ダッシュボードから、プラグインに移動し、エディタを選択します。
  2. "Advance-permalink/Advance-permalink.php"を選択してください。
  3. コードの下に表示されるまで下にスクロールします

    $this->add_filter ('post_rewrite_rules');
    $this->add_filter ('author_rewrite_rules');
    $this->add_filter ('category_rewrite_rules');
    $this->add_filter ('rewrite_rules_array');
    
  4. // $ 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');
    

サイトを更新すると、すべてが再び完璧に機能し始めます。そうでなければ、それから他の場所を見つける必要があります。

0
Pradip Mehta

なぜこれが起こったのか、誰かが何か考えを持っていますか?

このページに404エラーは表示されませんが、質問に答えます。なぜこれが発生するのか、発生しないのかわかりません。

私は最近、自分のブログ投稿自体のパーマリンク構造を変更しましたが、カテゴリについては変更しませんでした。どういうわけかカテゴリリストを再構築する必要がありますか?

Adminでパーマリンク構造を変更するたびに、パーマリンクは自動的に再構築されるので、それについて気にする必要はありません。そして、カテゴリリストを再構築するようなことはありませんので、あなたはそれについて疑問に思う必要はありません。

0
hakre