同一サーバ内のファイルへのリンク
■要点■

 同じサーバ内の他のファイルへのリンクは、相対パス指定で記述してください。 


× <a href="http://www2.kyoto-be.ne.jp/abc-es/2nen/rst.htm">2年生の行事</a>
× <a href="http://www2.kyoto-be.ne.jp/abc-es/1nen/ab.htm">1年生の行事</a>
 <a href="rst.htm">2年生の行事</a>
 <a href="../1nen/ab.htm">1年生の行事</a>
【解説】 内部ホームページサーバにアップしたファイルを外部ホームページサーバに転送したときのリンクの様子を考えてみます。
 URLは、世界中で唯一つの場所を表すので、URLで書かれた他のサイトのリンク先は、右図www2に置かれているWebページからでも、www1に置かれているWebページからでも、同じリンク先を表します。
 
 
 右のように、www2というコンピュータにあるabc.htmからefg,htmへのリンクをhttp://www2.・・・・・/efg.htmと書いてしまうと、2つのファイルabc.htm, efg.htmをwww1という別のコンピュータに転送した場合、www1に転送されたファイルからのリンクはwww1の方でなくwww2の方を読みに行こうとします。
 これら2つのコンピュータの間にファイアウォールがあるような場合、このようなURLによるリンクでは、外から中が見えないためリンク切れとなります。
 
 abc.htmというファイルにおいて、リンク先を単にefg.htmと書けば(※)、同一フォルダの中にある別のファイルefg.htmを表すことになっています。このような相対的な位置関係でリンク先を指定すると、これら2つのファイルが別のコンピュータに転送されたときでも、お互いのリンクは維持されます。

(※) HTMLのソースコードでは、
<a href="efg.htm">合図の文字</a> となります。

【詳しい解説】
1.同一フォルダ内のファイルは、単にその名前を書けば参照できます。


右のabc.htmからpqr.htmへのリンクは、abc.htmにおいて

<a href="pqr.htm">合図の文字</a>
と書けばよい。
 異なるフォルダにあるファイルへのリンクは、共通の親までさかのぼって記述します。一つ上のフォルダは ../ で表します。(親は名前を呼ばなくてもただ一通りに決まります。)
2.右のabc.htmからstu.htmへのリンクは、abc.htmにおいて
<a href="../stu.htm">合図の文字</a>
と書きます。 
 
 フォルダの中に入るには、そのフォルダの名前を書きます。(子どもは名前を呼ばないと、「どの子どもか」決まらない。)
3.右のabc.htmからvzw.htmへのリンクは、abc.htmにおいて
<a href="../jyugyo/vzw.htm">合図の文字</a>
と書きます。 
 
 
4.右のabc.htmからnmo.htmへのリンクは、abc.htmにおいて
<a href="../../nmo.htm">合図の文字</a>
と書きます。
 
 
5.右のabc.htmからghi.htmへのリンクは、abc.htmにおいて
<a href="../../jyugyo/ghi.htm">合図の文字</a>
と書きます。
 
■即答問題■
 上の5.の図において、相対パス指定でghi.htmからabc.htmへリンクするには、ghi.htmの中で、次のどの記述を用いますか。
<a href="abc.htm">合図の文字</a>
<a href="../../abc.htm">合図の文字</a>
<a href="../1nen/haru/abc.htm">合図の文字</a>
<a href="../haru/1nen/abc.htm">合図の文字</a>
<a href="gyoji/../1nen/haru/abc.htm">合図の文字</a>
■メニューに戻る■