前回はリンクについてコラムを書きましたが、そのリンクをはる作業について今日はコラムを書いてみようと思います。
リンクを貼る時にURLはどうやって書きますか?実は書き方にも色々あるんです。今回はそんな書き方のメリットやデメリット、あれやこれなどを調べてみました。
それでは、コラムスタートです☆
「パス」って何?
担当者:つじさん「パス」とは、そのファイルやフォルダが保存されている場所を指定する方法の事を言います。
もっと分かりやすく言うと、「そのファイルが此処にあるということをどう伝えるか」というのが「パス」です。
もっと分かりやすく例にしてみましょう!
例えば、カフェで、つじさんが大好きな珈琲を端から2つ目の机に置いたとします。それをおかもっさんに「どうやって伝えるか」というのが「パス」です。言葉で伝えるのか、文字で伝えるのか、絵にするのか、そもそも端から2つ目の机というのか、白い机というのか。
何となく分かりましたか?
ネット上ではこのどう伝えるかという部分がURLになります。さっきの珈琲をURLに置き換えていみるとこんな感じです。
何となく伝わるでしょうか?こんな感じで指定をすることを「パス」と呼びます。ネット上でリンクを繋ぐときは、繋ぎたいそのHTMLページや画像などがネット上の何処にあるかをパスで指定してあげる必要があります。
相対パスについて
それでは本題のうちの1つ、相対パスについて。引き続きつじさんがお送りします!
パスの中でも「自分が今いるところからファイルを見た時にどこにあるか」を表す方法を「相対パス」と呼びます。
相対パスは基本的にファイル名のみを使って記述するため、記述する文字が短くて済みます。ただ、記述を間違えてしまうと上手く指定が出来ません。
では実際に相対パスを見てみましょう!
例えば、下記の様な階層を持つサイトがあるとしましょう。いつかの使い回しだなんて言っちゃダメです。
この時、「http://exmple.com/sub/index.html」が今見ているページだとします。(index.htmlは省略可能ですが、今回はわかりやすいように付けておきます。)
その時に同じフォルダ内にある「subsub.html」を相対パスで表すと…。
<!-- 同じフォルダの中にある場合 --> <a href="./subsub.html"> <!-- もしくは --> <a href="subsub.html">
このように書く方法が「相対パス」での記述方法です。
基本的にはフォルダ名と階層を表す「.(ドット)」と「/(スラッシュ)」を使っての記述となります。
相対パスの記述方法にはあるお約束があって、それに合わせて繋ぎたいリンクが何処に有るかを記していきます。
- 自分と同じ階層(フォルダ)内の場合:「ファイル名」もしくは「./ファイル名」
- 自分より下の階層にある場合:「./フォルダ名/ファイル名」
- 自分より上の階層にある場合:「../ファイル名」(ドットが2つになります)
これらの組み合わせによって相対パスは表されます。
これを使って「http://exmple.com/sub/index.html」から「http://exmple.com/main.html」を相対パスで表すと
「../main.html」(自分より上の階層のページを表示させる)
となります。どうでしょうか、わかりましたか?
相対パスは先程も書いた通り、記述する文字数が圧倒的に少なくて済みます。また、ドメインの記述をしなくても済むため、何らかの理由でドメインが変更になった場合もフォルダやファイルの名前が変わっていなければリンクを修正する必要がありません。これは大きなメリットです。
反対に、少しでも階層や記述を間違えるとエラーが発生しますし、そのファイルを別のフォルダに移動させてしまうと関係性が変わるため、リンクが切れてしまいます。これはデメリットと言えるでしょう。
それから、デメリットというわけではありませんが、相対パスはドメインが同じであることを前提として使うため、ドメインが違うページヘのリンクには使えません。
絶対パスについて
担当者:おかもっさん今回わたしは絶対パスというリンクの解説をしていきます。
サイト内に設置するリンクはサイトの目的に合った記述方法でリンク設置したいですよね。
というわけで絶対パスのメリット・デメリット・注意点を調べてきました。
絶対パスというのは、インターネット上の場所を表すパスの1つで、「誰がどこから見てもそのファイルの位置がわかるようにする方法」を言います。
例えば、自分の住んでいる街の本屋さんを誰かに教える時に住所を教えませんか?
「□□県△△市◯◯区一丁目●番地の本屋さん」
これが絶対パスです。インターネット上では「http://」で始まるURLで表されます。
絶対パスは目的地への行き方をわかりやすく示しているので、インターネット上のどのページに居ても目的地へたどり着くことが出来ます。
例えば友達に荷物を送る為に住所を確認した時「一丁目の●●マンション」って言われたら「どの一丁目の●●マンション?」となるはずです。
この時、「□□県△△市◯◯区一丁目●●マンション」と言っておけば送り先を間違えることがなくなります。
細かな住所を伝えることで県外の人でも荷物の送り先を理解できます。
つまり絶対パスの記述にすることで、サイトの外部から来た人でも一発でサイトの内部ページへたどり着くことが出来、特定のページへユーザーを集めることが可能になります。
逆に絶対パスのデメリットについてです。
上記のようにインターネット上のどこにいても目的地へたどり着ける絶対パスですが、万が一フォルダ名のアルファベット1文字だけでも間違えていると目的地まで行くことができずリンク切れになります。(記述ミスをしてはいけないのは当たり前なんですけどね)
この他にも、絶対パスで記述することによってファイルのサイズが大きくなってしまうこともデメリットとして挙げられるそうですが現代の回線ですとそこまで変わりないそうです。
絶対パスは階層のミスや、ドメインが変わった時、特に注意しないといけません。
まず階層のミスが発生すると、デメリットでも記述したように目的のページへたどり着くことができずエラーページが表示されるというトラブルが発生します。
行き着く先のフォルダが一緒でも階層を一段階でも飛ばしてしまったり間違えてしまえばそれだけでアウト!
せっかく誘導したページがユーザーに閲覧してもらえないのはもったいないですよね。リンクの設置をする際にはそんなトラブルがないよう注意しましょう。
次にドメインが変わった時の注意点です。
サイトの引っ越し等でサイトのドメインが変わった時は、サイト内に記述した絶対パスのURLのドメインをすべて書き換えなければいけません。
内部ページが多いサイトだとかなり大掛かりな変更をしないといけません。
ここでうっかり前ドメインを記述した絶対パスを放置してしまうと前ドメインにユーザーが訪問してしまったり、リンク切れなどが発生することになり、混乱を招くことになります。
リンク先の住所をすべて書くのは手間かもしれませんが、外部からのユーザーを内部ページに誘導するなら絶対パスが良いと思います。
サイト内でのリンクの書き方には好みも含まれると思います。みなさんはどちらがいいでしょうか?また、どちらが使いやすいでしょうか?ちなみに、このサイトは全て絶対パスで記述をしています。
何故か?それは、フォルダを移し替えたりすることがあるのと、単純につじさんの好みの問題だったりします(笑)