開発環境を構築して、
PHPやHTMLが動くようになったあと、
多くの人が次の疑問にぶつかります。
・ファイルをどこに置けばいいのか分からない
・URLとフォルダの関係が分からない
・なぜ表示されないのか分からない
この原因は、
👉 ドキュメントルートの理解不足 にあります。
この記事では、
URLとファイルの関係を完全に整理 します。
この記事で学べること
・ドキュメントルートとは何か
・URLとファイルパスの対応関係
・フォルダ構造とURLの関係
・表示されないときの原因の見つけ方
ドキュメントルートとは何か
ドキュメントルートとは、
👉 ブラウザからアクセスできる「公開フォルダ」
のことです。
簡単に言うと、
👉 ここに置いたファイルだけがURLで見える
という場所です。
イメージで理解する
例えば、
MAMPやXAMPPでは、次のようなフォルダがあります。
/htdocs/ index.php test.html
/htdocs がドキュメントルート です。
URLとの対応関係
このとき、
URLは次のように対応します。
👉 URLはドキュメントルートからの相対位置
を表しています。
フォルダを使った場合
フォルダを作ると、
URLもその構造に対応します。
/htdocs/ sample/ index.html
indexファイルの特別な扱い
多くの環境では、index ファイルは特別扱いされます。
/sample/index.html
よくある構成パターン
実務でもよく使う構成です。
/htdocs/ index.php css/ js/ images/
なぜ表示されないのか
表示されない原因のほとんどは、
次のどれかです。
・ドキュメントルート外に置いている
・URLのパスが間違っている
・ファイル名が違う(大文字小文字)
よくあるミス①:場所が違う
/Users/xxx/Desktop/test.html
ブラウザからはアクセスできません。
👉 ドキュメントルート内に置く必要があります
よくあるミス②:パスのズレ
<img src="images/sample.jpg">
/htdocs/sample/images/sample.jpg
👉 パスがズレて表示されません
よくあるミス③:大文字小文字
sample.jpg
Sample.jpg
特に本番環境(Linux)では
厳密に区別されます。
相対パスとの関係
3章で学ぶ「相対パス」は、
このドキュメントルート理解が前提になります。
例えば、
<img src="images/sample.jpg">
👉 今いるファイルから見た位置
を意味します。
PHPとの関係
PHPでも同じ考え方です。
include 'header.php';
👉 現在のファイルからの相対位置
を基準に読み込まれます。
実践:確認してみよう
次の構成を作ってみてください。
/htdocs/ test/ index.html
<h1>テストページ</h1>
理解はOKです。
まとめ
ドキュメントルートとは、
👉 Webから見える基準のフォルダ
です。
そしてURLは、
👉 その中のどこにあるかを表すもの
です。
この理解があれば、
・ファイル配置で迷わない
・パスエラーで詰まらない
・PHPやCSSの読み込みで困らない
状態になります。
次に読むべき記事
▶ 次の記事
2-6 PHPが正しく動作しているか確認してみよう
▶ 関連記事
3-4 リンクと画像の使い方



コメント