HTML講座テーマ別
☆絶対パスと相対パス - クイックガイド
index.html - Kobako Editer 
<html>
<head>
 <title>相対パス</title>
</head>
<body>

<a href="../index.html">トップへ</a>

<img src="image/pic.html"
 alt="写真">

</body>
</html>
 
1. 絶対パスと相対パス
 
2. 相対パスの割り出し方
 
3. アップロードする時の注意
 
4. 相対パスでの記号
 
絶対パスと相対パス

ここで言っているパスとはHTMLで リンクを張ったり画像を貼りつけたりする際に ファイルがどこにあるかを示すためのもの。

パスには絶対パス相対パスがあるよ。

絶対パスとはネット上で言うならURLがそれにあたる。 実際の建物に例えてイメージするなら、 『○○県△△市□□1番地』といった住所のような感じ。 同じ住所は1つしかないわけだから 必ず同じところに辿りつくってわけだね。

対して相対パスの方は、あるファイルからみて 対象となるファイルがどこにあるかというもの。 これも建物に例えるなら、 『お隣の○○さん』とか『この先の角を曲がった突き当たりの△△さん』など ある場所を基点としての場所の示し方になる。 同じ『お隣さん』でも基点とする場所によって どこを指すかが変ってくるという事だね。

相対パスの割り出し方

フォルダ homepage
フォルダ image
HTMLファイル itiran.html
画像ファイル pic1.gif
画像ファイル pic2.gif
フォルダ html
フォルダ sample
HTMLファイル sample.html
HTMLファイル kouza.html
HTMLファイル index.html
相対パスとは上でも説明した通り、 あるファイルからみた他のファイルの場所のこと。 各ファイルの位置関係は右の図のようになっていると仮定して説明するね。

初級編でも紹介した通り同じフォルダ内のファイルなら ファイル名だけでパスを表現できる。 例えばitiran.htmlからみたpic1.gifの相対パスは 『pic1.gif』と表現できる。

次は他のフォルダに入っているファイルまでのパスを割り出してみよう。 例えばindex.htmlからみたpic2.gifの相対パス。 index.htmlファイルからスタートして pic2.gifまでに辿りつく経路を考えてみよう。 まずは同じフォルダ内のimageフォルダ、 そしてその中のpic2.gifファイルに辿りつくよね。 この経路を/(スラッシュ)で区切って並べると相対パスになる。 なのでこの場合の相対パスは『image/pic2.gif』となるわけだね。 同様にindex.htmlからsample.htmlの相対パスなら 『html/sample/sample.html』となる。 よくわからない場合は右の図の線を辿りながら確認してみてね。

ではitiran.htmlからindex.htmlへの相対パスはどうだろう。 現在位置がimageフォルダの中なので そこまで辿りつくにはimageフォルダから上に上がらないといけないね。 フォルダを1つ上に上がるには../(ドット2つにスラッシュ)と書くよ。 1つ上がったところのフォルダ内のindex.htmlという事で 相対パスは『../index.html』となる。

位置関係が複雑になっても基本はこれだけ。 itiran.htmlからみたsample.htmlの相対パスなら 『../html/sample/sample.html』となる。

アップロードする時の注意

相対パスを使ってHTMLを書いた場合は サーバにアップロードした時に ファイルの位置関係を維持しなくちゃならない。 わかりやすくいえばサーバ側にもフォルダ(ディレクトリ)を作って 同じような形にしてやればOK。 転送に使用するFTPソフトにもよるけどフォルダごとアップしようとすれば 自動的にサーバ側にもフォルダを作ってくれるよ。

相対パスでの記号

すでに紹介した../(ドット2つにスラッシュ)の他にも 相対パスで特別な意味を持つ記号があるよ。 ./(ドット1つとスラッシュ)なら同じフォルダを、 /(スラッシュ)ならルートディレクトリを指す。 詳細はややこしくなるのでここでは省略させてもらうけど、 ドットの数を間違えると意味がまったく違ってしまうので 相対パスを使う際は注意してね。
 
ウェブ木箱HTML講座
Copyright(C) 2003 あう