Webサーバ上において,図のようにディレクトリd1及びd2が配置されているとき,ディレクトリd1(カレントディレクトリ)にあるWebページファイルf1.htmlの中から,別のディレクトリd2にあるWebページファイルf2.htmlの参照を指定する記述はどれか。
ここで,ファイルの指定方法は次のとおりである。
〔指定方法〕
(1) ファイルは,“ディレクトリ名/…/ディレクトリ名/ファイル名”のように,経路上のディレクトリを順に“/”で区切って並べた後に“/”とファイル名を指定する。
(2) カレントディレクトリは“.”で表す。
(3) 1階層上のディレクトリは“..”で表す。
(4) 始まりが“/”のときは,左端のルートディレクトリが省略されているものとする。
(図:ルート直下にd1とd2。d1の下にf1.html,d2の下にf2.html。)
正答3
解説
正解は3です。
カレントディレクトリd1にあるf1.htmlから、別のディレクトリd2にあるf2.htmlを指定する記述を問う問題です。
図では、ルートの直下にd1とd2が並んでおり、d1の下にf1.html、d2の下にf2.htmlがあります。
d1とd2は同じ階層にあるため、いったん1階層上のルートに戻ってからd2に入る必要があります。
【選択肢別解説】
1:× 「./d2/f2.html」は、カレントディレクトリd1の中にあるd2を指します。
d1の下にd2は存在しないため、f2.htmlを参照できません。
2:× 「./f2.html」は、カレントディレクトリd1の中にあるf2.htmlを指します。
f2.htmlはd1ではなくd2にあるため誤りです。
3:○ 「../d2/f2.html」は、「..」でd1の1階層上のルートに移り、そこからd2に入ってf2.htmlを指します。
図の配置どおりにf2.htmlへたどり着けます。
4:× 「d2/../f2.html」は、カレントのd1の下のd2に入り、「..」で1階層上のd1に戻ってf2.htmlを探すことになります。
d1の下にd2はなく、f2.htmlもd1にはないため誤りです。
【ポイント】
カレントディレクトリを起点にした指定方法を相対パス、ルートを起点にした指定方法を絶対パスと呼びます。
本問の指定方法では、絶対パスで書くと「/d2/f2.html」となります。