概要
エンジニアでなくても見たことが多い 404 Not Foundの原因と対策。
通常Webサーバ(ApacheやNginx)は問題ないページを出力するときは、ステータスコード 200 を返却します。
ただし何かしらのエラーがある場合、Webサーバはエラーなステータスコードを返却します。
404 Not Foundとは
[404 Not Found] や [お探しのページが見つかりません] 等のエラーページは、Webサーバ(Apache/Nginx/IIS/Tomcat)が出力します。
リクエストされたファイルがWebサーバ側で存在しないときにこのエラーコードを出力します。
404 Not Foundが出力されるときは、ブラウザからWebサーバまでの接続は問題なくできているので、Webサーバ側のエラーを確認しましょう。
404 Not Foundの原因と対策
Webサーバ側でファイルが存在しない
http://example.com/test.html のようなURLでリクエストをしたときに、404になる場合は、test.html がDocumentRoot (ドキュメントルート)に存在しない場合です。
例えば、Document Root配下のディレクトリツリーが下記のような場合です。
test.htmlは存在しないので404になります。
ファイルが存在しているか確認しましょう。
こちらの例ではhttp://example.com/test/index.php は問題なくアクセスできます。
Document Root ├── assets │ └── img │ └── test.jpg ├── index.html ├── test │ └── index.php └── sample.php
まとめ
- 404 Not Foundは誰でも起きるエラーの一つ
- ファイルが存在しない
- Document Root が間違っていないか焦らず確認することが大事