2-5 ドキュメントルートとURLの関係を理解する|「どこに置けば表示されるのか」

Web開発学習ロードマップ

開発環境を構築して、
PHPやHTMLが動くようになったあと、

多くの人が次の疑問にぶつかります。

・ファイルをどこに置けばいいのか分からない
・URLとフォルダの関係が分からない
・なぜ表示されないのか分からない

この原因は、
👉 ドキュメントルートの理解不足 にあります。

この記事では、
URLとファイルの関係を完全に整理 します。


この記事で学べること

・ドキュメントルートとは何か
・URLとファイルパスの対応関係
・フォルダ構造とURLの関係
・表示されないときの原因の見つけ方


ドキュメントルートとは何か

ドキュメントルートとは、

👉 ブラウザからアクセスできる「公開フォルダ」

のことです。

簡単に言うと、

👉 ここに置いたファイルだけがURLで見える

という場所です。


イメージで理解する

例えば、
MAMPやXAMPPでは、次のようなフォルダがあります。

/htdocs/
index.php
test.html
この /htdocs

ドキュメントルート です。


URLとの対応関係

このとき、
URLは次のように対応します。

無効なURLです
→ /htdocs/index.php
無効なURLです
→ /htdocs/test.html
つまり、

👉 URLはドキュメントルートからの相対位置

を表しています。


フォルダを使った場合

フォルダを作ると、
URLもその構造に対応します。

/htdocs/
sample/
index.html
この場合、
でアクセスできます。

indexファイルの特別な扱い

多くの環境では、
index ファイルは特別扱いされます。

とアクセスすると、
/sample/index.html
が自動で表示されます。

よくある構成パターン

実務でもよく使う構成です。

/htdocs/
index.php
css/
js/
images/
URLは、
無効なURLです
http://localhost/images/logo.png
のようになります。

なぜ表示されないのか

表示されない原因のほとんどは、
次のどれかです。

・ドキュメントルート外に置いている
・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
HTMLの中身:
<h1>テストページ</h1>
アクセス:
これが表示されれば、

理解はOKです。


まとめ

ドキュメントルートとは、

👉 Webから見える基準のフォルダ

です。

そしてURLは、

👉 その中のどこにあるかを表すもの

です。

この理解があれば、

・ファイル配置で迷わない
・パスエラーで詰まらない
・PHPやCSSの読み込みで困らない

状態になります。


次に読むべき記事

▶ 次の記事
2-6 PHPが正しく動作しているか確認してみよう

▶ 関連記事
3-4 リンクと画像の使い方

コメント