「.map(ソースマップファイル)」が404エラー
404自体は問題ないけど、404が原因で他のトコでエラーになるという問題発生したので・・・その解決にいたるまで。
作成日:2021-02-25, 更新日:2021-02-25
状況
- 「bootstrap.css」や「bootstrap.min.js」を使っていた
- PHPも絡んでいた
- 問題無く動いていた
何かのきっかけ(プログラムの問題なのかセッションなのか、それともサーバの設定なのか・・・原因は不明)でPHPの方が問題アリとなった
問題といっても・・・「if()文」の条件分岐で求めていないほうにいくってコト。
色々調べた結果・・・原因は「bootstrap.min.js.map」が404エラーになっていたから。
「bootstrap.min.js.map」が404エラー
『「bootstrap.min.js.map」が404エラー』になっているというコトに気づくまでかなり時間を費やした・・・下記二つより原因の特定にいたった
・debug_print_backtrace() - 呼出し元を探す
・$_SERVER - リファラなどを確認しようとしたら「REQUEST_URI」が「bootstrap.min.js.map」になっていた
→「bootstrap.min.js.map」にアクセスしたら404エラー:404を解決したら問題解決にいたった
対応
『「bootstrap.min.js.map」にアクセスしたら404エラー』なのだから、解決方法は簡単
・「bootstrap.min.js.map」を任意の場所にupする
・「bootstrap.min.js.map」の呼出しを削除する
のどちらかをすれば解決。
今回は『「bootstrap.min.js.map」の呼出しを削除する』を選択。
「bootstrap.min.js.map」の呼出しを削除する
呼び出しているのは「bootstrap.min.js」。
▼コイツを削除
//# sourceMappingURL=bootstrap.min.js.map
コメントされているから問題ないと思ったのだけど・・・「.map(ソースマップファイル)」を使うためには記述がこんな感じが正解らしい。
そのため使わないならマルっと削除。もちろん自己責任で。
めも: 今回の処理について
fuelPHPで何かしていた
▼htdocs/〇〇〇/app/view/hoge.php
<html>~~~
▼htdocs/index.php
if (〇〇〇) { ~ OK ~ } else { ~ NG ~ }
通常は
・「hoge」にアクセスすると「htdocs/〇〇〇/app/view/hoge.php」を表示
今回は・・・何がきっかけなのかは不明だけど
・「hoge」にアクセスすると「htdocs/〇〇〇/app/view/hoge.php」を表示
→「bootstrap.min.js.map」が404となり「index.php」が呼ばれる
→if()文のトコで「NG」のほうに入って・・・その後、別の箇所で想定外の挙動になる・・・という問題になっていた