BLOG

404NotFoundの意味と直し方|Apache対応も解説

この英文は、サーバーは応答したものの、指定されたURLにページが無かったことを示す404エラーです。見ている側ならURLの綴りを確かめ、サイト内検索やページ名での検索で探せば目的のページに近づけることが多いでしょう。自分のサイトでトップページ以外のすべてに出ているなら、個別のページより先に、ApacheのURL書き換えの設定(mod_rewriteと.htaccess)を確認してください。

白い画面の中央に「Not Found」の文字だけが表示されたノートパソコンがあり、その横で手元のメモにURLを書き写して1文字ずつ見比べている人の手元が描かれている。

「英語のエラーが出たのは、サーバーが止まったか、サイトが丸ごと消えたからだろう」。画面には「Not Found」と短い英文しか表示されず、文中に「server」という語まであるため、深刻な故障を想像する方は多いはずです。自分が管理するサイトで出たなら、なおさら焦るでしょう。

しかし、これまで記事サイトの制作や移転に携わり、公開後に開かなくなったページの原因を数多く調べてきた弊社の立場から言えるのは、このメッセージはサーバーが動いたうえで「その場所にページが無い」と答えている状態だということです。原因は主に3つで、どれに当たるかはエラーが出ているURLの範囲で見分けられます。

本記事では、英文の意味から、閲覧者として試せる対処、運営者が確かめるApacheとWordPressの設定までを、記事サイトの公開後の運用まで支援する制作会社の視点で順を追ってお伝えします。

この記事でわかること
  • 英文は「要求されたURLは、このサーバー上で見つかりませんでした」という意味で、404エラーを指す
  • 閲覧者はURLの見直しと、サイト内検索やページ名での検索で目的のページに近づける
  • 自分のサイトでトップページ以外のすべてに出るなら、ページではなくURL書き換えの設定が原因
  • WordPressで英語のメッセージが出るのは、リクエストがWordPressまで届いていないとき

メッセージの意味と404エラーとの関係

「The requested URL was not found on this server.」を訳すと、「要求されたURLは、このサーバー上で見つかりませんでした」となります。ブラウザが送ったURLに対し、サーバーが「その場所には何も無い」と返した状態です。

このときサーバーは、HTTPステータスコードの「404」を返しています。ステータスコードとは、リクエストの結果をサーバーが3桁の数字で伝える仕組みです。400番台は、リクエストの内容の側に原因がある場合に使われます。

※ 出典:MDN Web Docs「404 Not Found」

404 Not Found - HTTP | MDN
HTTP の 404 Not Found はクライアントエラーレスポンスステータスコードで、サーバーがリクエストされたリソースを見つけることができないことを示します。 404 ページにつながるリンクは、壊れたリンクまたは死んだリンクと呼ばれ、リンク切れの対象となることがあります。
🌐 developer.mozilla.org
外部リンク

画面が表示された時点で、サーバー自体は応答しています。サーバーが止まっていれば、ブラウザは「このサイトにアクセスできません」といった別の表示を出すため、区別がつきます。

画面の文言で分かる表示元

同じ404でも、画面の文言は返しているソフトによって変わります。

画面の文言

表示しているもの

Not Found/The requested URL was not found on this server.

Apache(Webサーバー)の標準の404ページ

404. That’s an error. The requested URL was not found on this server.

Googleのサービス

404 Not Found(下に「nginx」の1行)

nginx(Webサーバー)の標準の404ページ

HTTP Error 404.0 - Not Found

IIS(Microsoftのサーバー)

サイトのデザインのまま「ページが見つかりません」

サイト側で用意した404ページ

Apacheの画面には、下に「Apache/2.4 … Server at example.com Port 80」のような1行が添えられていることがあります。バージョンや設定によっては、文中に「/sample」のようなURLの部分が入ります。

ℹ

このメッセージは、閲覧している端末の故障やウイルス感染を示すものではありません。パソコンやスマートフォンの設定を変える必要もありません。

表示される原因は大きく3つ

404になる理由は、URLそのものの誤りか、ページ側の変化か、サーバーの設定かのどれかに分かれます。

URLの入力ミスやリンクの誤り

手入力の打ち間違いのほか、メールやSNSからコピーしたURLの末尾に「)」や「。」が付いたまま開くケースがよくあります。多くのWebサーバーはURLの大文字と小文字を区別するため、「/Blog/」と「/blog/」も別のURLとして扱われます。

ページの削除やURLの変更

運営者がページを消した、またはリニューアルでURLを変えたのに転送を設定していない場合です。ブックマークや検索結果、ほかのサイトのリンクには古いURLが残るため、訪問者はそこから404にたどり着きます。

サーバーのURL書き換えの設定

WordPressやLaravelのように、1つのプログラムがすべてのURLを受け取ってページを組み立てるサイトでは、URLをプログラムへ渡す設定がサーバー側に要ります。この設定が効いていないと、ページのデータは残っているのに、トップページ以外がすべてこのメッセージになります。

404エラーが表示される3つの原因(URLの誤り、ページの削除や移動、サーバーの設定)を並べた図

閲覧者として試せる4つの対処

ほかの人のサイトでこの表示に出会った場合、閲覧者の側でサーバーを直すことはできません。ただ、目的のページにたどり着く方法はいくつか残っています。

1
STEP
URLを1文字ずつ見直す

末尾に余計な記号が付いていないか、全角の文字が混じっていないかを確かめます。ブックマークからは開けるのに手入力では開けないなら、2つのURLを並べて見比べると違いが見つかります。

2
STEP
URLの後ろを削って上の階層を開く

「example.com/blog/sample/」なら「sample/」を消して開き直します。記事の一覧やカテゴリーのページから、移動先が見つかることがあります。

3
STEP
サイト内検索やページ名で探す

トップページのメニューやサイト内検索を使うか、検索エンジンでサイト名とページのタイトルを組み合わせて検索します。URLが変わっただけなら、新しいURLが検索結果に出てきます。

4
STEP
過去に保存されたページを見る

ページが削除されていた場合は、Internet ArchiveのWayback Machine(web.archive.org)で過去の内容を見られることがあります。すべてのページが保存されているわけではありません。

Googleフォームやドライブの共有リンクで「404. That’s an error.」が出た場合も、考え方は同じです。URLが途中で切れていないかを確かめ、それでも開けなければ、共有した相手にリンクを送り直してもらいましょう。

運営者が先に確かめるエラーの範囲

自分が管理するサイトで出たときは、個別のページを直す前に、どのURLで出ているかを確かめます。1ページの問題か、サイト全体の設定の問題かで、見る場所がまったく変わるからです。

エラーが出る範囲

考えられる原因

最初に確かめる場所

特定のページだけ

リンクのURLの誤り、ページの削除

リンク元のURL、CMSでの公開状態

URLを変えたページだけ

転送(リダイレクト)の設定漏れ

旧URLと新URLの対応表

トップページ以外のすべて

URL書き換えが効いていない

mod_rewrite、AllowOverride、.htaccess

トップページを含むすべて

ファイルを置いた場所のずれ

公開用のフォルダとindex.phpの位置

範囲は、トップページ、記事のページ、固定ページの3つを開き比べれば見当がつきます。記事も固定ページもまとめて出ているなら、ページより設定を疑うのが近道です。

ステータスコードの確かめ方

ここで見落とされがちなのが、404ページの見た目だけで判断しないことです。サイト独自のデザインで「見つかりません」と表示していても、裏では200(正常)を返している場合があります。ステータスコードは、ターミナルで次のように確かめられます。

TEXT
curl -I https://example.com/sample/

1行目に「404」が含まれていれば、サーバーは404を返しています。サーバーに入れる場合は、Apacheのアクセスログ(Ubuntuなら /var/log/apache2/access.log)で、どのURLに404が返っているかも一覧で追えます。

404エラーが出る範囲ごとに、確かめる場所が分かれる流れを示した図

トップ以外が404になるときのApache設定

トップページだけ開けるのは、トップページには実在するファイル(index.phpなど)があるためです。それ以外のURLは、プログラムへの受け渡しに失敗しています。Apacheでは、次の2つがそろって初めて.htaccessのURL書き換えが動きます。

  • mod_rewrite(URLを書き換えるApacheの機能)が有効になっている
  • AllowOverride(.htaccessの記述をどこまで認めるかの設定)で書き換えが許可されている

Ubuntuの初期設定では、公開用のフォルダ /var/www/ に対して「AllowOverride None」が指定されています。この状態では.htaccessが読まれず、中に何を書いても効きません。直した後の Directory の中は、次の形になります。

TEXT
<Directory /var/www/html>
    AllowOverride All
</Directory>

UbuntuやDebianのサーバーなら、次の順で直します。

1
STEP
mod_rewriteを有効にする

`sudo a2enmod rewrite` を実行します。

2
STEP
AllowOverrideをAllに変える

/etc/apache2/apache2.conf またはサイトごとの設定ファイルを開き、公開用のフォルダを指定した Directory の中の「AllowOverride None」を「AllowOverride All」に書き換えます。

3
STEP
設定を確かめて再起動する

`sudo apachectl configtest` で「Syntax OK」と表示されるのを確かめてから、`sudo systemctl restart apache2` で再起動します。

レンタルサーバーでは、mod_rewriteと.htaccessは使える状態で提供されていることが多く、利用者が確かめる場所は.htaccessの中身とファイルの置き場所になります。

⚠

AllowOverride Allは、そのフォルダより下の.htaccessに設定の上書きを広く認めます。指定するのは公開用のフォルダだけにして、サーバー全体(Directory /)には付けないでください。編集前に設定ファイルのコピーを取っておくと、元に戻せます。

Laravelの場合、公式ドキュメントでは公開用のフォルダをプロジェクト直下ではなくpublicフォルダに向けるよう案内されています。URL書き換えはpublicの中の.htaccessが担うため、上の2つの設定が効いていないと「/」以外のルートがすべてこのメッセージになります。

WordPressで表示されるときの直し方

WordPressのサイトでは、まず画面の見た目を確かめます。見るのは、サイトのヘッダーやメニューが表示されているかどうかです。

テーマの404ページか英語のメッセージか

サイトのデザインが付いた「ページが見つかりませんでした」なら、リクエストはWordPressまで届いています。そのURLの記事が無いか、非公開になっている状態のため、スラッグの変更や下書きへの戻し忘れを疑いましょう。

英語のメッセージだけなら、リクエストはWordPressに届いていません。Apacheが.htaccessの書き換えを通さずにファイルを探し、見つからなかった状態です。

Web担当者Web担当者

トップページは表示されるのに、ブログ記事を開くと全部英語の「Not Found」になります。記事を消してしまったのでしょうか。

Writers-hub編集部Writers-hub
編集部

記事は残っている可能性が高いです。管理画面の投稿一覧に記事があれば、データは無事です。トップページ以外のURLがそろって英語のメッセージになるのは、サーバー移転や.htaccessの上書きで、記事のURLをWordPressへ渡す記述が消えたときによく起きます。

パーマリンク設定を保存し直す

管理画面の「設定」→「パーマリンク」を開き、何も変えずに「変更を保存」を押します。WordPressが.htaccessを書き直し、記事のURLをWordPressへ渡す記述が戻ります。.htaccessに書き込めない場合は、書き込むべき内容が画面に表示されるので、FTPなどで貼り付けます。

保存しても直らないときは、mod_rewriteが無効になっているのかもしれません。WordPressが書き出す記述は、mod_rewriteが有効なときだけ読まれる条件で囲まれています。無効でもエラーは出ず、書き換えだけが黙って行われないため、前の章のApacheの設定まで戻って確かめましょう。

削除・移動したページへの対応

範囲が「特定のページだけ」「URLを変えたページだけ」なら、設定ではなくページ単位の対応になります。移動先があるなら、旧URLから新URLへ301リダイレクト(恒久的な転送)を設定します。代わりのページが無いなら、404のままにするか、削除したことを明確に伝える410を返します。

Googleの説明では、400番台を返すURLの内容は検索に使われず、以前に登録されていたURLもインデックスから削除されます。無くなったページが404を返すのは正しい動きです。直すべきなのは、移動先があるのに404になっているURLと、内部リンクが古いURLを指したままのページでしょう。

HTTP ステータス コードが Google のクローラーに及ぼす影響 | Google クロール インフラストラクチャ | Crawling infrastructure | Google for Developers
HTTP ステータス コードが Google のクローラに及ぼす影響について説明します。
🌐 developers.google.com
外部リンク

Search Consoleで404のURLを見つける

Search Consoleの「ページのインデックス登録」レポートでは、「見つかりませんでした(404)」の理由でURLを一覧にできます。サイトの移転やリニューアルの後にこの件数が増えていれば、転送の設定漏れを疑う合図です。

💡

存在しないURLをまとめてトップページへ転送すると、Googleはソフト404(中身の無いページ)として扱うことがあります。転送先は、元のページと内容が対応するページに限りましょう。

301・404・410の選び方は、404 not foundの原因と見分け方の解説記事で詳しく整理しています。

リニューアルの後、404のURLがSearch Consoleに増えていませんか

Writers-hubのSEO・AI検索対策では、Search Consoleの404の一覧と旧サイトのURLを照らし合わせ、転送すべきURLと404のままでよいURLの切り分けからご相談いただけます。

このエラーについてよくある質問

運営者と閲覧者の双方から寄せられやすい質問をまとめました。

「The requested URL /index.php was not found on this server」と出るのはなぜですか?

公開用のフォルダにindex.phpが無い状態です。ファイルを1つ下のフォルダにアップロードしていないか、ファイル名の大文字と小文字が違っていないかを確かめてください。

「Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument」が続けて出るのはなぜですか?

404のときに表示するよう設定したエラーページのファイルも見つからない状態です。.htaccessなどのErrorDocumentで指定したパスに、ファイルが実在するかを確かめてください。

再読み込みすれば表示されますか?

ほとんどの場合、表示されません。404はサーバーがページの有無を答えた結果だからです。公開したばかりのページで、キャッシュが古い応答を返している場合に限り、時間をおくと開けることがあります。

このエラーはSEOに影響しますか?

無くなったページが404を返すこと自体は問題ありません。影響が出るのは、移動先があるページまで404になり、検索結果やほかのサイトから来た人がたどり着けない場合です。

まとめ|このエラーは「出ている範囲」で原因が分かる

「The requested URL was not found on this server.」は、サーバーが応答したうえで、指定されたURLにページが無いと伝える404エラーです。閲覧者ならURLを見直して探し直し、運営者ならまず出ている範囲を確かめます。

  • 特定のページだけなら、リンクのURLとページの公開状態を確かめる
  • URLを変えたページなら、旧URLから新URLへ301リダイレクトを設定する
  • トップページ以外のすべてなら、mod_rewriteとAllowOverrideを確かめる
  • WordPressなら、パーマリンク設定を何も変えずに保存し直す
  • 直した後は、curlでステータスコードが200に戻ったかを確かめる

サーバーの設定が原因なら、直せば記事は元どおり開きます。残るのは、URLを変えたページの転送と、古いURLを指す内部リンクの修正です。私たち合同会社Writers-hubは、記事の制作から公開後の検索対策まで、検索から来た人が目的のページにたどり着けるサイトづくりを支援しています。

404を直した後、検索からの流入が戻っているか確かめられていますか

転送の設定を終えても、旧URLの評価が新URLへ引き継がれるまでには時間がかかります。Writers-hubのSEO・AI検索対策では、Search Consoleのデータから流入が戻っていないページを洗い出し、内部リンクの修正や記事の見直しまでご相談いただけます。

この記事を書いた人

米山拓真

米山拓真

合同会社Writers-hub 代表社員

滋賀県立大学工学研究科の修士課程を修了後、大手制作会社の編集部を経て2019年にWebライターとして独立。2020年に記事制作を手順化した「ハブ式SEOライティングメソッド」を開発し、これまでに200人以上のライターを育成しました。2022年3月に合同会社Writers-hubを設立し、会社として累計8,000記事以上のSEO記事制作に携わっています。2024年にAIライティングシステム「一気通貫Pro」、2025年から書き手の文体を再現するAI編集者「Edico」を開発。このブログでは、クライアント案件と自社サイトで実際に試したことを書いています。

読んで終わりにしないために

記事の内容を自社に当てはめるとどうなるか、オンライン30分で一緒に整理します。費用はかかりません。