新規サイト立ち上げまして、このブログ同様にCMSをWordPressに使用しるんですけど、1記事投稿してカテゴリーページにアクセスしたら404エラーが出ました。原因はパーマリンクの設定と複数カテゴリー登録だった。
なので、今後気を付けるために原因を書いていきます。
カテゴリーページ404の原因はパーマリンク
初めに、記事のパーマリンクは「http://ドメイン/カテゴリー名/記事名」にしています。
カテゴリーページはパーマリンクを何も設定していないと「http//:ドメイン/category/a/」のようにカテゴリー「A」が表示されます。
複数カテゴリー「A、B」に記事を登録してもカテゴリーページは404エラーにならず問題なく記事一覧が表示されます。
階層が深くなるかなと思って「http//:ドメインL/a/」になるようにカテゴリーのパーマリンクを設定。
カテゴリーベースに「.」(ドット)を入力するとカテゴリーのURLから「/category/」が無くなります。
まだ1記事しか更新してないので「http//:ドメイン/a/」にアクセスすると、記事のスラッグも関係してきて書いた記事のURLにリダイレクトされる。
投稿した記事は複数のカテゴリー「A、B」に登録してるので、サイドバーのカテゴリーにも「A、B」が表示される。
そんで、カテゴリーBにアクセスすると「http//:ドメイン/B/」になり404エラーとなる。
記事のパーマリンクの階層に「カテゴリー」が入っているから、記事のパーマリンク「http://ドメイン/カテゴリー名/記事名」はカテゴリーAが優先される。
なので、カテゴリーBの記事が存在しない事になるので404エラーになるみたいです。
カテゴリーのパーマリンクを「category」の階層かに戻す
カテゴリーのパーマリンクの「.」を消して初期の状態に戻します。
そしたら、カテゴリーのパーマリンクは「http://ドメイン/category/カテゴリー名/」になるので1記事で複数カテゴリー「A、B」に登録してても404エラーにならず表示できます。
まとめ「記事数1つで複数カテ登録はパーマリンクに注意」
記事数1つで複数カテゴリーに登録していたらパーマリンクの設定に注意が必要です。
初期の状態だと問題ないですが、カテゴリーのパーマリンクと記事のパーマリンクの階層を共通にしないほうが良さそうです。