-
ID:XqE.T5 さんの質問

wordpressを使用したサイトで謎の404エラーが発生しています。
wordpressのアクセス解析プラグインを使用するため、全ページにwp-blog-header.phpを読み込んでいるのですがHTTPステータスコードが404と表示されてしまいます。しかし、なぜかページ自体は表示されている状態です。
なぜ404になるのか、なぜ404なのにページは正常に表示されているのか‥。分かる方、同じような経験をされた方がいらっしゃたら解決策を教えていただきたいです。

これに気づかず1年ほど運用していたのですが、
Googleの検索順位が一向に上がらない理由の一因がこれにあるのではと思い、質問させて頂きました。

みんなの回答 3 件

ID:/lzGls さんの回答

エラーコードを吐き出す設定にしてみればどこが原因かわかるのでは?
wp-config.phpの

define(‘WP_DEBUG’, false);

define(‘WP_DEBUG’, true);

に変更する。

ID:XqE.T5

コメントありがとうございます。
ご指摘いただいた通りやってみると、「Undefined index: aiosp_enabled in **************all_in_one_seo_pack.php on line 766」とのエラーが返されていたので、ひとまずこのプラグインの使用を停止したところ、エラーは無くなりました。
しかしページのステータスコードは404のままでした‥。どうやらエラーコードには出ない問題のようです。

ID:Y7otz3 さんの回答

結構前なので記憶があやふやで参考にならないかもしれないけど…

parse_requestした結果、URLに対応するページが無かったので404になってる可能性がある。
var_dump($query_var);
をどっかに挟んでみると、404って結果がセットされているかも。

この場合の解決方法はparse_requestで404をセットさせないようにするんだけど、それぞれのサイトによりけりなのでなんとも言えないんだけど、add_rewrite_rule をして、基本のURLを設定しておいてそこから処理を振り分けることで回避できるかと。

詳細がわからないからなんともいえないんだけどね

WordPressのquery.phpを読む2. wp-blog-header.phpの役割とwp()関数、$postsの生成 ...

http://nskw-style.com/2012/wordpress/how-wp-works/reading-query-php-2.html
ID:Rma1gV さんの回答

原因の切り分け大事でしょ。

  • プラグイン一個ずつはずしてみる
  • 基本テンプレート外してって、どれが利用されているテンプレートか調べる
  • WPのバックアップとってバージョン上げてみる

これ重要

最終更新日:2013-04-02 (7,128 views)

関連するトピックス

ページ上部に戻る