PHPでステータスコード404が返す方法と確認方法を解説!

PHPでステータスコード404を返す方法と、正しい404ページの表示方法についてサンプルコードつきで解説します。

コンテンツ [表示]

  1. 1PHPでステータスコード404を返す方法
  2. 2PHPでステータスコード404が返っているか確認する方法は?
  3. 3まとめ

PHPでステータスコード404を返す方法

HTTPステータスコードとは、ブラウザがリクエストを送信したときに受け取るコードです。PHPでステータスコード404を返すには、header関数を用います。

PHPのheader関数については、下記の301リダイレクトや、307リダイレクトでもご紹介しましたが、ステータスコード404を返すのにも利用できます。

PHPでPOSTでリダイレクトする方法を解説!のイメージ
PHPでPOSTでリダイレクトする方法を解説!
PHPでリクエストをPOSTでリダイレクトする方法についてご紹介します。リダイレクト先にリクエストのデーターを引き継ぐには、明示的にリダイレクトの目的を示すだけ!
PHPで301リダイレクトをする方法を解説!のイメージ
PHPで301リダイレクトをする方法を解説!
PHPで301リダイレクトをする方法をサンプルコードと共に解説します。header関数を使うことで301や302などステータスコードを指定してリダイレクトを行う事が出来ます。


リダイレクトする際のheader関数の使い方とは異なり、ステータスコード404を返すには、下記の様に記述します。

ステータスコード404

header("HTTP/1.1 404 Not Found");

404エラーページを表示したい場合、header関数の宣言以降へ画像や文字列などで出力する事ができます。

PHPでステータスコード404が返っているか確認する方法は?

PHPのget_headers関数を使ってステータスコードを確認する事ができます。

次のサンプルコードでは、header関数で404を設定したページのヘッダー情報を出力しています。

ステータスコードが404で戻ってくることが確認できました。

まとめ

404ページを表示させていても、正しく404ステータスコードが返せないと、Googleなどのクローラーが「存在するページ」として認識してしまい、サイトの評価を下げてしまう可能性があります。

間違った404ページの設定例をご紹介したいと思います。

間違った404ページ

header("HTTP/1.1 404 Not Found");
header("Location: https://example.com/404");
exit();

上記コードのステータスコードをサンプルコードで確認してみます。

ステータスコードは302でした。

header関数でステータスコード404を宣言していても、その下で記述されている別ページへのリダイレクト処理で、ステータスコードが上書きされた為です。

このように間違った404ページは、サイトの評価を下げてしまうため、注意しましょう。

存在していないページはきちんと404のステータスコードを返しユーザーにもクローラーにも存在していないことをきちんとアピールしましょう。

GeekHive採用サイト

関連記事