WordPress 3.1にアップデートしたら404パーマリンクエラーな件
さりげなくWordPress 3.1にアップデートしたわけです。
そしたら、ブログトップページにきちんと記事が出ているのに、記事詳細ページやカテゴリ、アーカイブページが全て404エラーになってしまいました。
頭の上に「?」マーク。
ソリッド・スネークも真っ青です。
ブログのトップページに記事が表示されていて、なおかつ、一応はサイドメニューのカレンダーや新着記事一覧にも連動して情報が反映されていたので、データベースのエラーでは無いことは分かりました。
で、ちょっと思ったわけです。
「プラグインの互換性エラーだ」と。
もうこれ以外の原因って無いですよねw
パーマリンクを疑う
まず、原因だと思ったのが、パーマリンクの設定。サイドバーやカレンダーが更新されているということは、きちんとCMSとしてデータが連動している。
つまりWordPress自体には問題は無さそう。
で思ったのが、パーマリンク関連のプラグイン。
何のプラグイン入れてたっけ…?
思い出せない。
そんなプラグイン入れてたっけ…?w
管理画面のプラグイン一覧へ。
そしたらありました。
ずっと前に入れたプラグインが…。
問題のプラグインを特定
結果から言うと、悪さをしてたのは「Top Level Categories」というプラグイン。ページがあるはずなのに404エラーを吐き出してた原因はこいつにあった。
この「Top Level Categories」は、カテゴリページに飛んだ際に、表示されるURLから「category」という文字列を消すためのもの。
例えば、
example.com/category/web/
を
example.com/web/
としてくれる。
光の速さでこの問題のプラグインを削除。
でも代用出来るものを探さないといけない。
URLに「category」っていう文字列かっこわるい。
「WP No Category Base」というプラグイン
Google先生に訊いたら速攻で教えてくれました。「WP No Category Base」というプラグインを使えば404パーマリンクエラーが起きずに済みます。
気になる方はググってみて下さい。
プラグインのバージョンが0.7で、WordPress 3.1で問題なく動きます。
取り合えずブログは解決。
次はホームサイトのプラグインの互換性問題だ…。
P.S.
ホームサイトで起きていたエラーは、厳密にはこのブログが吐き出すパーマリンクエラーに起因したものでした。
ホームサイトのトップページでは、このブログの新着記事を何件か読み込んでいます。
このブログが吐き出したフィードを活用しているのです。
で、エラーがフィードにも影響を及ぼしていて、結果的にホームサイトにもエラーが飛び火していました。
という事で、一応大きな問題は全て解決しました。
一瞬、もうブログの過去記事を全部まっさらにして始めからやり直そうか悩みましたが、どうにかなったみたいですw
ちなみに、他にも異常な部分があったら教えて頂けると助かります。
