このエントリーをはてなブックマークに追加 Twitterでツイート 404で200を返す

久しぶりのWordPressネタになります。
WordPressを使ってサイトを作っていると、特定のURLで何かを表示したくなったりします。ダミーのカテゴリーや投稿をしたくないといったほうがいいのかもしれません^^;

方法としては、テーマ内の404.phpでリクエストURLを調べ、本当の404ページなのか、何か内容を表示したいページなのかを判断し振り分けるイメージです(.htaccessで存在しないページをトップページに振り分ける必要があります)。
ここで注意したいのが、HTTPステータスコード。通常404.phpの場合は、HTTPステータスコードは404になっています。最近のほとんどのブラウザは、用意した内容を表示してくれますが、HTTPステータスコードは404なのでページの対応としては不十分ですね。というのを、アクセスログを眺めていて、気がつきました。

この対策ですが、404.phpで内容を出力する前にWordPressのstatus_header関数を使うこと。

status_header( 200 );

これで無事、404じゃなくなりました。

投稿日:2010年5月24日
  • ※コメントは、スパム対策などのためIPアドレスにて制限しております。
  • ※誹謗や中傷、スパムなど、不適切な内容は公開いたしません。ご了承ください。