• ベストアンサー

相対パスについて

 いつもお世話になっております。  お聞きしたいのは、画像やリンクのファイルを指定する方法についてです。違うディレクトリへのリンクの場合、たとえば<A href="a/b.html">のように指定すればいいですよね。しかし、上位ディレクトリへリンクしたい場合、どのようにすればよいでしょうか?絶対パスで<A href="http://www~">と指定するしかないのでしょうか?  サイトのほうはそれで誤魔化してきましたが、今、自分なりに紙データをデジタルデータ化しています。たとえば料理のレシピだと「料理」フォルダの中に「豚肉」「お菓子」などのように分けるという具合です。その「お菓子」フォルダ(実際には別の英語名ですが)にあるファイルから、一番上にあるHOMEまでリンクさせるのにはどうしたらよいでしょうか?  このファイルは、いずれCDに移すつもりでいます。が、CD-ROMドライブは人によってD:ドライブではないこともありますよね。それもふまえて、どうすればよいでしょうか?

  • Yusura
  • お礼率52% (563/1079)
  • HTML
  • 回答数4
  • ありがとう数2

質問者が選んだベストアンサー

  • ベストアンサー
  • jein
  • ベストアンサー率49% (2799/5705)
回答No.1

一つ上に上がるには「../」を使います同じ階層にあるデータ を呼ぶには「./」を使います。 http://host.com/sub/index.html というURLがあったとします。 index.htmlから同じ階層にあるデータを指定するときは "ファイル名のみ"か"./ファイル名"を指定します。 一階層上、この場合だとhost.comの直下にあるデータを 指定するときには"../ファイル名"と指定すれば良いです。 CDに作品を入れて簡単なindex.htmlをつけてインデックスに することがあります。そういうときに相対指定でリンクを 付けて使っています。

Yusura
質問者

補足

 回答ありがとうございます。すっごくよくわかりました!  今まで、HTMLエディタが勝手にファイルの参考場所を「../../../a.html」などのように書き換えていたのは、そういうわけだったんですね!今、先日普通に相対パスでトップページを指定してうまくいかなかったページに試してみました。そうしたら、見事にちゃんと繋がりました!  回答ありがとうございました。(*^^)

その他の回答 (3)

noname#2072
noname#2072
回答No.4

↓このページが参考になるかも?

参考URL:
http://www.page.sannet.ne.jp/mtoga/html/etc/bih-h_z6.htm
Yusura
質問者

補足

 拝見しました。言葉の意味を理解している中級者以上向けのページですが、簡素でわかりやすい、いいサイトですね。参考にさせていただきます。  回答ありがとうございました。

  • wolv
  • ベストアンサー率37% (376/1001)
回答No.3

つまり、 例えば、  http://www.ほげほげ.com/~私のページ/index.html  http://www.ほげほげ.com/~私のページ/ryouri/ryouri-top.html  http://www.ほげほげ.com/~私のページ/ryouri/butaniku/1.html  http://www.ほげほげ.com/~私のページ/ryouri/okasi/1.html のような構成になっているとします。  http://www.ほげほげ.com/~私のページ/ryouri/okasi/1.html のhtmlファイルの中で  http://www.ほげほげ.com/~私のページ/ryouri/ryouri-top.html を参照する場合は、  <a href=../ryouri-top.html>料理トップ</a> のようになります。  http://www.ほげほげ.com/~私のページ/index.html を参照する場合は、  <a href=../../index.html>私のページのトップ</a> こんなですね。

Yusura
質問者

補足

 #1の方の回答を丁寧に説明してくださったんですね。ありがとうございます。大変わかりやすいです(^^)。  しかし、すでにもう何十ページも同一ディレクトリ内指定のリンクを作ってしまいました。最初からこちらに伺っていれば…(T▽T)。  回答ありがとうございました。

  • zero_21
  • ベストアンサー率38% (19/50)
回答No.2

さらにディレクトリ名を指定してもできますよ。 <a href="a/b/c.html">のようにすれば、OKです。 aはbの親ディレクトリということになります。 /を\に置き換えてみえると、Windowsのフォルダの指定方法を同じですよね。 c:\windows\system\system.dllは c:/windows/system/system.dllと同じ意味です。 ryouri/okasi/a.html ryouri/butaniku/b.html などとするとわかりやすいですね。 .. は親ディレクトリ(階層が上のフォルダ)を表します。 . は自身のディレクトリです。

Yusura
質問者

補足

 おおお、回答ありがとうございます。上位ディレクトリ名だけでもオッケーなんですか?知りませんでした・・(恥)。  HTMLで試行錯誤を繰り返しながら、すでに一年ちょっと。表を使わずともいろんなことができるようになったり、おおよそやりたいことのほとんどは自力で解けるようになりましたが、まったくもってまだまだですね。教えて下さってありがとうございます。  目下の悩みどころろは、CD-RWに納めるつもりのデータのほうです。最初からどのようなディレクトリ構成にするのか、ちゃんと計画を練っておかないとだめみたいですね(^^;)。  回答ありがとうございました。

関連するQ&A

  • 絶対パスと相対パスはどちらがいい?

    htmlで自サイト内のリンクをつける場合、絶対パスと相対パスはどちらを使った方がいいのでしょうか? すべてのファイルが同じディレクトリにあるとして、 <a href="test.html">test</a> と <a href="http://example.com/test.html">test</a> では、SEOの効果が違ったりしますか? 教えて下さい。よろしくお願いいたします。

    • ベストアンサー
    • HTML
  • 相対パスでリンクできない

    まったくお手上げですので、お知恵をお貸しください。 マイドキュメント内に「homepage」というフォルダがあるとします。 この中に「gazou」(←画像ファイルのみ存在)「flower」というフォルダを作ります。 ほかのHTML文書は、特にフォルダを作らず「homepage」内に存在するとします。 「flower」内に「flowerin.html」「frill.html」 という2つのHTML文書を作ります。 このお互いをリンクさせるときは <a href="flowerin.html">○○</a>(わざと全角) <a href="frill.html">○○</a> でいいと思うんです。 frill.htmlからはリンクできるのに、flowerin.htmlからはなぜかリンクできません。 何度やってもできないので、どこか間違っているのでは、とお尋ねしました。

    • ベストアンサー
    • HTML
  • 相対パスの指定

    FindFirstFile(), remove(), OPENFILENAME などのファイルやフォルダのパスを扱うものについて、例えば 実行ファイルと同じディレクトリに有るdat.datというファイルを「dat.dat」とだけ書いて相対指定したつもりが、実行ファイルと同じディレクトリにdat.datが無かった場合にWindowsフォルダなどの特殊なフォルダや、AUTOEXEC.BATに書いてあるフォルダを使ってdat.datが検索されて適用されたりすることはあるのでしょうか? いろいろな関数や構造体が有りますが、相対パスが指定されたとき、絶対パスを作るために使用されるフォルダパスが、GetCurrentDirectory()以外のものが使われることってあるんでしょうか?

  • windows7 相対パスによるシンボリックリンク

    windows 7上で、外付けHDDに相対パスによるシンボリックリンクを張りたいのですが、できません。 D:\Data0 D:\Src という二つのフォルダがあったとします。Srcフォルダ内に、Data1というシンボリックリンクを作り、一つ上のData0に張りたいのですが、うまくできません。 % mklink /d "Data1" "../Data0" をしたところ、リンクは生成されるのですが、リンクフォルダをダブルクリックすると 「D:\Src\Data1にアクセスできません。ファイル名、ディレクトリ名、またはボリュームラベルの構文が間違っています」 というエラーメッセージが出て、アクセスできません。

  • 他のブックへのリンクで相対パスを使いたい。

    mac2011を使っています。 Dropboxを利用して数台のMacでエクセルのデータを共有したいと考えています。 「ブックA」で「ブックB」にリンクさせていますが、Doropboxはローカルのフォルダに データを保存するため、リンクのパスは最初にデータをつくた環境(ドライブ名など)で保存されてしまいます。 そうすると、他のMacでDoropboxにあるデータを開いた時、当然環境が違うため、開くた びにリンク元ファイルを変更しなくてはなりません。 これを解決するために「相対パス」でリンクを指定したいのですが、どうしてもやり方が わかりません。 強制的に「相対パス」に変換する関数とかあるのでしょうか? よろしくお願いいたします。

  • インクルードファイルからの相対パス

    main.php: <?php include('x/sub.php'); ....... ?> x/sub.php: <?php $a=file('data.txt'); ....... ?> において data.txt は main.php と同じディレクトリになければなりません インクルードされたファイルからファイルを呼び出すときに インクルード先からの相対パスでファイルを指定できるようにできないでしょうか? つまり上の場合にはdata.txtがsub.phpと同じディレクトリにあるようにです

    • ベストアンサー
    • PHP
  • URLの相対指定について

    いま、BASEタグを使ってURLを相対指定して、簡略化をしているHTML文書があります。 このHTML内で、もう一つ別の相対指定の基準を指定する方法はあるのでしょうか? リンクの位置関係は簡単に書くと下のようになってます。 Web Site +-HTML文書 +-リンク先のファイル(複数) Local +-リンク先のファイル(多数) Localのリンク先のファイルが多数あるので、 いちいち<A href="file:///.....と書くのがいやなので、 BASEタグによる基準をLocalのフォルダにしています。 しかし、こうするとWeb Site上へのリンクはいちいち、 <A href="http://.....と絶対指定しなければなりません。 これを回避したいのです。

  • 絶対パス・相対パス・ディレクトリ・について

    HTMLでホームページを作ろうとしている初心者です、教えてください 自分のホームページのフォルダの中ににリンクするパスの指定方法を相対パスというのはわかりましたが、画像を表示するためのパスの指定方法も相対パスでいいのでしょうか、それともディレクトリというんでしょうか?

  • #pragma commentの相対パス指定

    #pragma commentの相対パス指定について、希望の動作をしないません。 状況は以下の通りです。 libというフォルダの中にlibA、libBの二つのフォルダがあり、それぞれのフォルダの中には、lib_a.lib、mylib_b.libというファイルがあるとします。 lib -libA -lib_a.lib -libB -lib_b.lib またライブラリディレクトリにはlibのパスのみが指定されていたとします。 この状況で#pragma comment(lib,"libA\\lib_a.lib")とすると、 「LINK : fatal error LNK1104: ファイル 'libA\lib_a.lib' を開くことができません。」 と出てしまいます。 #pragma commentの中では、相対パスは使えるはずなのですが、なぜこの場合はリンクが出来ないのでしょうか? ちなみに絶対パスで指定した場合はエラーは出ません。 できればフォルダで分割してライブラリを管理したいと考えているので、何か解決方法をご存知の方がいれば、ご教授ください。 環境は ・OS:Windows7 ・使用ソフト:Visual C++ 2010 Express ・言語:C++ です。

  • パスについて

    御願いします。 リンクさせるとき 1)<A HREF="http://www.***.com/**.html">サイトA</A> と 2)1)<A HREF="/**.html">サイトB</A> では どちらが「絶対パス」でどちらが「相対パス」ですか? 教えてください。 又、 3)<A HREF="../**.html">サイトC</A> この場合の意味は、「・」一つが「ドメイン」と「ディレクトリ」を表しているのですか?

    • ベストアンサー
    • HTML

専門家に質問してみよう