wordpressを使用したサイトで謎の404エラーが発生しています。
wordpressのアクセス解析プラグインを使用するため、全ページにwp-blog-header.phpを読み込んでいるのですがHTTPステータスコードが404と表示されてしまいます。しかし、なぜかページ自体は表示されている状態です。
なぜ404になるのか、なぜ404なのにページは正常に表示されているのか‥。分かる方、同じような経験をされた方がいらっしゃたら解決策を教えていただきたいです。
これに気づかず1年ほど運用していたのですが、
Googleの検索順位が一向に上がらない理由の一因がこれにあるのではと思い、質問させて頂きました。
みんなの回答 3 件
エラーコードを吐き出す設定にしてみればどこが原因かわかるのでは?
wp-config.phpの
define(‘WP_DEBUG’, false);
↓
define(‘WP_DEBUG’, true);
に変更する。
結構前なので記憶があやふやで参考にならないかもしれないけど…
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原因の切り分け大事でしょ。
これ重要
関連するトピックス