同一のサーバ上にあるファイルを指定する場合に,有効なのが「相対パス」である。
******************************************************* B:\ (index.htm) | +--- iwate (index.htm) | +--- kitakami (index.htm*, index2.htm) | | | +--- image (oni.jpg) | +--- ninohe (index.htm) B:\ に index.htm という HTM ファイル, フォルダ iwate,kitakami,ninohe それぞれに index.htm という HTM ファイル, フォルダ kitakami には,index2.htm という HTM ファイル,そして image というフォルダがあり, そこには oni.jpg という画像ファイルがあるとする。 ******************************************************* さて,* の B:\iwate\kitakami\index.htm。 これは /iwate/kitakami/index.htm に相当する。 (以下、サーバ名は省略) この * の HTM ファイルにおいて,以下の5つのことを実現してみる (ここでは * の HTML ファイルを基準にしていることに注意)。 1) B:\index.htm へのリンク 2) B:\iwate\index.htm へのリンク 3) B:\iwate\kitakami\index2.htm へのリンク 4) B:\iwate\ninohe\index.htm へのリンク 5) B:\iwate\kitakami\image\oni.jpg 画像へのリンク まず 1)。 絶対パスで書くと, <A HREF="index.htm">*** 相対パスで書くと, <A HREF="../../index.htm">*** 次 2)。 絶対パスで書くと, <A HREF="iwate/index.htm">*** 相対パスで書くと, <A HREF="../index.htm">*** 次 3)。 絶対パスで書くと, <A HREF="iwate/kitakami/index2.htm">*** 相対パスで書くと, <A HREF="./index2.htm">*** 次 4)。 絶対パスで書くと, <A HREF="iwate/ninohe/index.htm">*** 相対パスで書くと, <A HREF="./ninohe/index.htm">*** 最後 5)。 絶対パスで書くと, <IMG SRC="iwate/kitakami/image/oni.jpg"> 相対パスで書くと, <A HREF="./image/oni.jpg">*** すなわち, 基準としているファイルのあるフォルダをカレントフォルダとするならば, 階層が1つ「上」のフォルダは .. (←コンマ2つ), カレントフォルダと同一階層ならば . (←コンマ1つ) と表す。 したがって,2階層上のフォルダは, ../../ と表され、 5) のように1階層下にある image というフォルダの場合は カレントフォルダの下の image フォルダということで ./image/ と表される。 なお,カレントフォルダを示す ./ は省略できる。