初心者が404で詰んだ全パターン
実は全部「見ている場所」が違っていただけの話
Xserverにファイルを置いたのに、
何度開いても「404 Not Found」。
public_html も触っていない。
フォルダ構成もいじっていない。
難しい設定も何もしていない。
それでも、ずっと404。
正直、このとき本気で思いました。
もう無理かもしれない
でもあとから振り返ると、原因は全部同じでした。
私はずっと、違う場所を見ていました。
しかもそのことに、まったく気づいていませんでした。
私は「拡張子」という言葉を知りませんでした
ファイル名の最後についている
.html.php
これを「拡張子」と言うらしいです。
でも当時の私は、
文字がちょっと違うだけ
くらいにしか思っていませんでした。
これが、404地獄の始まりでした。
パターン① URLが違うファイルを開いていた
最初に作ったのは
index.html
その後、保存機能を付けるために
index.php
に変更しました。
サーバー上のファイルも、ちゃんと php に変更していました。
でも私は、URLを一度も変えていなかった。
つまりブラウザはずっと
index.html
を見に行っていました。
でもそのファイルは、もう存在しない。
だから404になっていました。
パターン② フォルダの中に置いていた
私は app フォルダを作って、その中にファイルを入れていました。
実際にファイルがある場所は
public_html/app/index.php
でもURLは
example.com/index.php
を開いていました。
これも当然、404になります。
パターン③ さっきまで動いてたのに404
ファイル名を変えた瞬間に404。
え、さっきまで動いてたのに!?
と混乱しましたが、
見に行くファイル名が変わっただけでした。
パターン④ スマホだけ動かない
パソコンでは動くのに、スマホでは保存できない。
エラーも出ない。
意味が分かりませんでした。
これもあとから分かると、
スマホが古いURLを見に行っていただけでした。
404の本当の意味
404はエラーではなく、
そのファイルは、ここにはありませんよ
というサーバーからの正しいメッセージでした。
サーバーは何も悪くなかった。
私が見ている場所が、全部ズレていました。
確認方法は、実はとても簡単でした(指差し確認)
404が出たら、これを声に出して確認します。
① サーバーにあるファイル名を見る
② ブラウザのURLの最後を見る
この2つが、完全に同じかどうか。
例:
サーバー:index.php
URL:/index.html
違いますよね。
これだけで404になります。
一文字でも、
大文字・小文字が違っても、辿り着けません。
サーバーは、世界一厳しい門番なんです。
実は一番のフィクション
この一連の出来事で気づいたことがあります。
私は、何も理解していませんでした。
なのに、
分かっている風
で進めていました。
でも、それでよかった。
分からないままでも、進めることはできる。
404は、そのことを一番教えてくれた出来事でした。


コメント