APPOFIT > WordPress > WordPressテンプレートカスタマイズ > WordPress 3.0で複数ページ構成の記事に不具合

WordPress 3.0で複数ページ構成の記事に不具合

環境依存は強いと思いますが、複数ページ構成の記事で不具合が出ましたので、覚え書きです。
WordPressで運用している当サイトですが、先日3.0にアップデートしたタイミングから複数ページ構成の記事の2ページ目以降にアクセスすると、1ページ目に301リダイレクトされてしまうという現象が発生していました。

WordPress 3.0.4で本不具合が修正されていることを確認しました。
(2011年1月追記)

httpヘッダを見ると301リダイレクトであることから、まずは念のために.htaccessをチェック。
当然のことながら以前と変わりはなく、リダイレクトの記述もありません。

次に、リダイレクトの挙動であることから、ページテンプレートではなく、プラグインを疑いました。
WordPress 3.0を新たに1つインストールし、全てのプラグインをコピーして確認しても特に問題は発生しません。

ここまで来るとほぼお手上げ状態なのですが、再構築するのも面倒だったため、WordPressのコアモジュールから301リダイレクトをしている箇所をピックアップし、どこで引っかかっているのかを探します。
今回の該当箇所は、wp-include/canonical.phpであることがわかりました。

そこで、先ほど構築した新たなWordPress 3.0の環境からcanonical.phpを取り出し、不具合が発生している環境へ上書き。
これでも状況は改善しません。

中身のソースコードを解析し、該当箇所を書き換えることで回避することも可能だったのですが、別のブログに使っていたWordPress 2.8.6のcanonical.phpを取り出して上書きすることで直すことができました。
他のモジュールとの関連(一部バージョンアップされていないモジュールがあるなど)がいろいろとありそうですが、現在のところ、これでまともに動作しています。
ただし、wp_headerのcanonicalをお使いの場合は、もしかしたら、その部分が旧バージョンのままの挙動となってしまうかもしれませんので、ご注意ください。

根本原因についてはまだ不明ですが、解析する気力があったら原因と解決策を追記いたします。

WordPress 3.0で複数ページ構成の記事に不具合へのコメント

コメント一覧 (0件)

コメントはまだありません。

WordPress 3.0で複数ページ構成の記事に不具合 関連記事

rel="next"およびrel="prev"を使ったページ区切り

複数ページの関連性を示すrel=prev/nextとwordpressの問題

Googleが、複数ページにまたがる記事の関連性を知らせるためのHTMLタグをサポートしました。 rel="nex… [2011/12/05]
ヴィジェットの作成

オリジナルのヴィジェットを作成する

WordPressのテーマで使えるヴィジェットについて、最初から用意されているもの以外にオリジナルのヴィジェットを使いた… [2011/01/19]
Googleマップをショートコードで実装する

Googleマップをショートコードで実装する

WordPressのテンプレートにGoogleマップをショートコードで実装する方法をご紹介します。 Googleマップ… [2010/12/14]
記事一覧をカスタムフィールドでソートする

記事一覧をカスタムフィールドでソートする

記事一覧をカスタムフィールドでソートしたいという要望を受けて調べていたところ、実は記事取得のパラメータ指定で実装できると… [2010/12/14]
検索結果でのパンくずに対応するテンプレート記述

検索結果でのパンくずに対応するテンプレート記述

Googleの検索結果に表示されるパンくずのマークアップが可能となりましたので、WordPressのテンプレートを対応さ… [2010/09/08]