ホームページ > 記事 > ウェブフロントエンド > HTMLディレクトリの基本問題(相対パスと絶対パスの違い)_HTML/Xhtml_Webページ制作
相対パス - ファイルを参照する Web ページの場所に基づいて作成されるディレクトリ パス。したがって、異なるディレクトリに保存された Web ページが同じファイルを参照する場合、使用されるパスが異なるため、相対パスと呼ばれます。
絶対パス - Web サイトのルート ディレクトリに基づくディレクトリ パス。これが絶対と呼ばれる理由は、すべての Web ページが同じファイルを参照する場合、使用されるパスが同じであることを意味します。
実際、絶対パスと相対パスの唯一の違いは、ディレクトリ パスを記述するときに使用される参照ポイントにあります。ルートディレクトリの基準点はWebサイト上のすべてのファイルで同じであるため、ルートディレクトリを基準点としたパスの記述方法を絶対パスと呼びます。
以下は、パスの作成に使用されるいくつかの特殊記号とその意味です。
"." -- 現在のディレクトリを表します。
".." -- 上位レベルのディレクトリを表します。
"/" -- ルートディレクトリを表します。
次に、読者が作成したWebサイトが下図のようなディレクトリパスになっているとします。
Ref.htm ファイル内で BeRef.gif ファイルを参照したい場合、その相対パスは次のとおりです:
./SubDir2/BeRef.gif
上記 参照パスの「.」はカレントディレクトリ(Dir1)を表すため、「./SubDir2」はカレントディレクトリのSubDir2を表します。実は、この方法で「./」を省略して直接引用することもできます。
SubDir2/BeRef.gif
ルートディレクトリを基点として絶対パスでファイルを参照する場合、参照パスは次のようになります。
/ Dir1/SubDir2/BeRef.gif
Web サイトのディレクトリ構造が以下の場合
BeRef.gif ファイルを参照する相対パスはどうなりますか?
Ref.htm ファイルで BeRef.gif ファイルを参照する場合、相対パスは次のようになります:
../SubDir2/BeRef.gif
上記の参照パスの「..」は上位ディレクトリを表すため、/Dir2"は上位ディレクトリ配下のDir2サブディレクトリを表します。絶対パス参照の場合、参照パスは次のようになります。
/Dir2/BeRer.gif
相対パスと絶対パスの使用を比較するために、別のより複雑な例を見てみましょう。読者が作成したWebサイトに、以下のようなディレクトリパスがあったとします。
上の図では、ファイルが別のファイルを参照するときに使用する必要がある相対パスと絶対パスを示すために表を使用しています。
引用者:
|
引用
|
相対パス
|
絶対パス
|
Ref1.htm | BeRef1.gif | ../SubDir2/BeRef1.gif | /Dir1/SubDir2/BeRef1.gif |
Ref2.htm | BeRef1.gif | ../../Dir1/SubDir2/BeRef1.gif | /Dir1/SubDir2/ BeRef1.gif |
Ref1.htm | BeRef2.htm | ../../Dir2/BeRef2.htm | /Dir2/BeRef2.htm |
Ref2.htm | BeRef2.htm | ../BeRef2.htm | /Dir2/BeRef2.htm |
上の表で説明が必要なのは、「../../」が表す意味です。
「..」は上の階層を表し、「../../」はしたがって、上の表からは、参照されたファイルが現在の階層の子階層に存在する場合、または階層の階層の別の階層の階層に存在する場合に見ることができる。上表からわかるように、同じファイルが参照される場合、そのファイルに使用される参照パスは、そうでない場合を除き、参照パスを使用します。