忍者ブログ

[PR]

2017年10月23日
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

絶対パスと相対パス

2010年05月14日


みなさんは、下位のページから「トップページへ戻るリンク」のソースをどのように記述しているでしょうか。


HPを見た人がトップページへ戻る為には、当然トップページへ戻る為のリンクを張らないといけませんが(ブラウザの戻るボタンがありますが、それはそれとして)、リンク記述の仕方には相対指定絶対指定というものがあり、それぞれ相対パス(pass:道)、絶対パスと言われます。


上位表示の為には「絶対パスの方がいい」という噂が昔からあったりしますが、どうなのでしょうか。

 

まず、HPというのも、パソコンと同様に、フォルダというものが存在します。
そして、そのフォルダの中には、またフォルダがあったり、ファイルがあったりという感じです。


「絶対パス」というのは、httpから始まり、ファイル名まで全てを指定することです。
例えば、http://www.takakan.co.jp/baibai/tokusen1.html という様に、httpから始まり、ファイル名まで書くような形です。
(見方は、jpの後ろの/を中心として前後へ進む感じです。「jp(日本) の co(会社) の takakan (という所)の www(ホスト)」の「baibai(フォルダ)の tokusen1(ファイル)」)


この場合、全てを書くので「間違いがない」(なんらかの不具合で違う扱いがされることがないこと)と思われるので、確かに保守的な考えだと絶対パスの方が上位表示(上位表示というより、むしろ変な現象で順位が下がることの防止的な意味)の為にはいいと考えることも出来るかもしれません。


絶対パスの方が「検索エンジンに対して優しいか?」と考えた場合、
巡回ロボットのクロールを考えると、相対パスの方が、ある記憶領域に「どこから来てここに至ったのか」というデータを保存しなくてもサイト内の他のページの判別がしやすいように思えます。


この点、私の中では「どちらでもいい」という判断で、統一すべきだとは思いますが、相対・絶対を併用しています。
なにかしらの厳密なルールとして決めているわけではなく、よく編集するものは相対パスで指定するといった感じで使用しています。



「相対パス」というのは、そのページから見た相対的な位置(そのページから見てどうなのか)を指定することです。

相対パスだと、アップロードする前のパソコン上でもリンクがきちんと機能する(あくまでもパソコン上のファイルを参照するという意味で)といったメリットがありますが、記述を間違えやすいというデメリットがあります。


例えば、というフォルダに、ファイル・ファイル があるならば、

CD間では、同じ階層なので、Bフォルダを無視して(相対的な位置は同じということ)記述できます。

CからDへのリンクなら、href="Dファイル"となります(きちんと書くとhref="D.html"ですが分かりにくいので以降htmlは省略します)。


分かりやすく言うと、(お父さん)に、子供がいた場合、CとDは兄弟なので、お互いに名前で呼んでもケンカにまでは発展しません(慣れてないと少しドキッとするかもしれません)。


というフォルダにフォルダ、ファイルがあった場合はどうでしょうか。

例えるならば、(おじいちゃん)に、子供(お父さん)と(おじちゃん:未婚)となります。

を呼ぶときは、「Eおじちゃん」と呼ぶでしょう。呼び捨てにしたら怒られるかも知れません。

これは、言い方を変えれば、「お父さんと兄弟のE」ということです。

この場合の相対パスは、href="../Eファイル"
この「../」が、一つ階層が上がったことを意味し、「お父さんからなら呼び捨てにしてもいい」ものとなります。


パソコンに慣れている方ならば、通常パソコンを操作する時と同様に、フォルダはフォルダ、ファイルはファイルと認識して 「上に戻るボタン」1回あたり「../」 が必要だと覚える方がいいかも知れません。

Cファイルが表示されている画面で、「上へ」ボタン1回を押せばEファイルが表示されているはずです。


この説明は図があった方が理解しやすいので、気になる方は他のサイトで調べた方がいいと思います。


また 「../」と「./」は違う意味なので注意が必要です。見えにくいと思いますが、点が2つと1つの違いがあります。

「./」は上記例の、CがDに対して「お父さんの子供の~」と無理矢理言う場合につけるものとなります。


例えば、トップページと同じ階層のファイルからトップページを指定するときは、href="index.html"でもいいですし、href="./index.html"でも良いこととなります(この場合、href="./" でも許されます)。


なお、せっかくアドレスの話しをしましたので、どうしてトップページは通常「index.html」なのか?ということを詳細に調べた凄いサイトがありましたのでご紹介しておきます。

MobileHackerz再起動日記

 

 



 

PR