解説
相対パスと絶対パスって何?画像やリンクの場所を確かめよう
画像が出ない原因を、ファイルの場所から考えよう。ダウンロードできる小さな作例で、同じ階層と一つ上への参照を体験するよ。

HTMLに画像の場所を書いたのに表示されない。リンクを押すと違うページへ行ってしまう。そんなときは、どこを出発点に場所を指定しているかを確認してみよう。
この記事では、小さなフォルダ構成を使って相対パスを試す。必要なのはブラウザと、ZIPファイルを展開する機能。サーバー契約は不要だよ。
パスは、ファイルやページの場所を示す部分
URLの中では、/guide/startのような部分をパスと呼ぶ。HTMLの画像やリンクにも、URL全体や、基準になる場所からのパスを書けるよ。
sample/
index.html
images/
sample.svg
pages/
about.html
ここではindex.htmlを入口にし、imagesへ画像、pagesへ別ページを置く。
今いる場所からたどる相対パス
index.htmlから画像を指定するなら、次のように書ける。
<img src="images/sample.svg" alt="説明用の青い四角" width="160" height="100">
いまのHTMLと同じ場所から、imagesというフォルダへ入り、sample.svgを探すという指定だね。
一つ下のpages/about.htmlから同じ画像を指定するなら、まず一つ上へ戻る必要がある。
<img src="../images/sample.svg" alt="説明用の青い四角" width="160" height="100">
../が「一つ上」を表す。./なら現在の場所を表す。通常のHTMLでは文書のURLが基準になるけれど、base要素などで基準を設定している場合はその設定も確認するよ。

URL全体と、先頭のスラッシュ
| 書き方 | 基準 |
|---|---|
https://example.com/images/sample.svg |
接続先まで含めたURL全体 |
images/sample.svg |
文書の場所などの基準から進む |
../images/sample.svg |
基準から一つ上へ戻って進む |
/images/sample.svg |
Webサイトのルートから進む |
ルートは、Webサイト側の階層の出発点。WebページをHTTPやHTTPSで開いている場合、先頭の/は通常、その接続先のルートを基準にする。
ただし、パソコンのファイルを直接開くfile:のURLでは、先頭の/の扱いがサイトのルートと同じにはならない。ローカルの作例で画像が出ないときに、むやみに先頭へ/を足さないようにしよう。
作例を開いて確認する
フォルダ付きの作例ZIPを保存し、展開してからindex.htmlをブラウザで開いてみよう。ZIPの中をプレビューするだけではなく、一度フォルダへ取り出すのがポイントだよ。
- 入口ページで青い四角の画像が表示されることを確認する。
- 「説明ページへ」を押す。
- 説明ページでも同じ画像が表示されるか見る。
- 「入口に戻る」で最初のページへ戻る。
入口はimages/sample.svg、説明ページは../images/sample.svgを使っている。同じ画像へ別の場所からたどれることを、ブラウザで確認したよ。編集部ではローカルのHTTP配信で確認している。
見つからないときの確認順
- ZIPを展開したか、必要なフォルダごと保存したか。
- ファイル名と拡張子が一致しているか。
- 大文字・小文字が違っていないか。環境によって扱いが異なるので、同じ綴りにそろえる。
- HTMLを移動したのに、以前の相対パスを残していないか。
- ファイルを直接開く場合と、Webサーバー経由の場合を混同していないか。
HTTPでファイルが見つからないときの確認は404とHTTPステータスへ。URL全体の構造はURL・ドメイン・サーバーの基本で復習できるよ。
動かしてみよう:相対パスで画像とページをたどる
「説明ページへ」と「入口に戻る」を押して、どちらでも同じ画像が出ることを確かめよう。

みんなのコメント 0
感想や、試してみたことを聞かせてね。コメント・返信は承認後に公開されます。
最初のコメントをどうぞ。