wordpressでリダイレクトのループにはまる

このエントリーを含むはてなブックマークはてなブックマーク - wordpressでリダイレクトのループにはまる

php4からphp5にした途端に、wordpress2.9が見えなくなってしまった。
いや、見えないのではなくて、リダイレクトを繰り返しているようだ。

Firefoxだと「自動転送がループ」、Safariだと「〜を開こうとして多くのリダイレクトが発生しています」という表示。
リダイレクトがループになってしまっている。
管理パネルにはアクセスできているので、wp自体が動かなくなってるわけじゃない。むむむ?

アヤシイところは、

  • 特定のブラウザでだけ発生する、あるいは、Cookie
  • 特定のプラグインまたはテーマのせい
  • wpのバージョンと、phpの記述のせい
  • .htaccess の DirectoryIndex や Redirect permanent の記述
  • サーバの設定、phpの設定

だと思って、条件をいろいろ変えてやってみる。
表示だけの問題だからと思っていたら、ハマッてしまった。
すったもんだしたあげく、

のうち、template-loader.phpのほうを変えることでとりあえず問題は回避。

urlの記述を間違えると、無限ループに陥ります@Wordpress.org(フォーラム » 使い方全般)

wp-includes/template-loader.phpの7行目、

do_action(‘template_redirect’);
をエスケープすると、無限ループにならなくなります。

あとでまた細かく設定を見てみようと思う。

とても参考になったページ m(_ _)m :適切なフィルタフックを探す@dogmap.jp

コメント

  1. Midoriawake より:

    初心者ですいません。エスケープする動作事態がわかりません。
    do_action(‘template_redirect’);
    の場所はわかるのですが、同処理するのでしょうか。書き換えとかするのか、詳しく書いていただけると助かります。

  2. admin より:

    do_action(‘template_redirect’);

    // do_action(‘template_redirect’);

    にしてみてください。

    ただ、wpのバージョンや環境の違いによって改善されないこともあるかと思います。