プロが教えるわが家の防犯対策術!

SSIのincludeについての質問になります。
<!--#include file="" -->


この場合、
http://www.tatoeba.com/
http://www.tatoeba.com/folder/
http://www.tatoeba.com/folder/bunrui/

などの違うフォルダの中にファイルから、
同一のメニューバーなどを読み出す場合、
やはりそれらに記載されているアンカーテキストや画像は、
絶対パスでしか入力を受け付けないんでしょうか?

大手のウェブサイトなどを見る限り、
どうみても相対パスで入力されていて、
そしてうまく機能しているように思うんですが、
自分ではどうすることも出来ません。

相対パスの場合、
http://www.tatoeba.com/index.html
を呼び出したいんですが、
http://www.tatoeba.com/folder/index.html
にいってしまったりするので、
絶対パスしかないのかな・・・と悩んでおります。

どなたか詳しいかた、
この説明でわかって頂ければ教えてください。

A 回答 (4件)

相対パスでいけるような気がしますが。



http://www.tatoeba.com/index.html
>を呼び出したいんですが、
http://www.tatoeba.com/folder/index.html
>にいってしまったりするので、

その場合、具体的に、どのようにincludeを指定しておられますか?

あと、http://www.tatoeba.com/index.html って、
http://www.tatoeba.com/ の一番上の(トップの)ページですよね。それをincludeするって、何かちょっと変な感じがするのですが・・・

この回答への補足

すいません。うまく質問がかけてない様子です。


menuファイル
http://www.tatoeba.com/menu.html
を作ったとします。
そしてそのmenuファイルの中に、
http://www.tatoeba.com/aboutus.html
というファイルへのリンクを
相対パスでaboutus.htmlと貼っておきます。

それを、
http://www.tatoeba.com/index.html
http://www.tatoeba.com/folder/index.html
などから呼び出します。

その場合、
http://www.tatoeba.com/folder/index.html
からaboutus.htmlを呼び出すとすると、
相対パスでは
http://www.tatoeba.com/folder/aboutus.html
に飛んでしまい、
ページがうまく表示できない、というわけです。
絶対パスであれば、
問題なく飛ばすことが出来ます。

絶対パスと相対パスを理解していない、
完全な素人質問かもしれません。
よろしくお願い致します。

補足日時:2004/10/18 13:57
    • good
    • 0

さらにお聞きします。



http://www.tatoeba.com/folder/index.html
の中から、
http://www.tatoeba.com/aboutus.html
を呼び出すときに、
「../aboutus.html」
と書いてますか?

(「../」は親ディレクトリを表わします)

この回答への補足

何度もお返事有り難うございます。
申し訳ございません。
うまく伝えるのが非常に困難です(汗)

例えば、
http://www.tatoeba.com/folder/folder/index.html
からトップページを相対パスにすると
../../index.html
になるかと思いますが、
http://www.tatoeba.com/folder/folder/index.html
このページに表示されているmenuは、
http://www.tatoeba.com/menu.html
にあるため、
相対パスで../../index.html
と指定すると問題になるかと思います。

他にも
http://www.tatoeba.com/folder/sample.html
というファイルをmenuから呼び出す場合には、
http://www.tatoeba.com/index.html
からはfolder/sample.html
と指定を、
http://www.tatoeba.com/folder/index.html
からはsample.html
と指定を、
http://www.tatoeba.com/folder/folder/index.html
からは../sample.html
と記載する必要性があるため、
同一のmenu.htmlでは対応が出来ず、
絶対パスでURLを記載しておくしか方法がないのではないか?ということとなります。

かなりややこしくて申し訳ございません。
どうぞよろしくお願い致します。

補足日時:2004/10/18 14:37
    • good
    • 0

再度補足をお願いします。



(1)
下記5ファイルの関係はどうなっていますか?
どのファイルから、SSIでどのファイルをincludeするのでしょうか? includeする/される関係を全て書いていただけますでしょうか?

http://www.tatoeba.com/index.html
http://www.tatoeba.com/folder/index.html
http://www.tatoeba.com/folder/folder/index.html
http://www.tatoeba.com/aboutus.html
http://www.tatoeba.com/menu.html
http://www.tatoeba.com/folder/sample.html

(2)
http://www.tatoeba.com/folder/folder/index.html
>このページに表示されているmenuは、
http://www.tatoeba.com/menu.html
とは、どういう意味でしょうか?
http://www.tatoeba.com/folder/folder/index.html
の中でフレームを切って、そのフレームの中のひとつで
http://www.tatoeba.com/menu.html
を表示させるという意味でしょうか?
それとも他の意味でしょうか?

(3)
http://www.tatoeba.com/folder/sample.html
>というファイルをmenuから呼び出す場合には、
とは、どういう意味でしょうか?

http://www.tatoeba.com/menu.html
の中に、
http://www.tatoeba.com/folder/sample.html
をincludeさせるという意味でしょうか?
あるいは、他の意味でしょうか?

この回答への補足

1.
http://www.tatoeba.com/menu.html
このファイルのみがincludeされるファイルです。
200ピクセル程度のメニューバーだと思ってください。

2,
その通りの意味となります。
メニューバーをそれぞれのフォルダから表示させることを目的としております。

3.
includeされているmenu.htmlというファイルに、
sample.htmlへのリンクを貼るという意味です。

つまり3をご理解頂ければわかるかと思いますが、
それぞれ違うディレクトリからsample.htmlへのリンクを貼る場合は相対パスが異なってしまうのは十二分にご理解頂いているものと思います。
しかし、それぞれのディレクトリに同じメニューバーを挿入することによって、
ページ編集作業を容易にしたいと思っております。

絶対パスであれば
何の問題もないのですが、
相対パスにしたほうが
サーバーへの負荷が軽くなるために、
出来る限り相対パスでの方法がないかどうか
模索したいと思っております。

以上よろしくお願い致します。

補足日時:2004/10/18 16:32
    • good
    • 0

ということは、要求されていることは、異なる相対パス名を、ひとつのmenu.htmlの中で書きたいということですね。



ということは、menu.htmlとして静的なテキストを書くだけでは、その要求を満たすことはできません。

環境変数や、条件に応じた制御を行う構文を用いれば、可能だと思います。
http://tohoho.wakusei.ne.jp/wwwssi.htm#Echo
http://tohoho.wakusei.ne.jp/wwwssi.htm#If

ただ、相対パスをお使いになる理由は「サーバーへの負荷が軽くなるため」なのでしょうか。相対パスを使ったからといって、サーバの負担は軽くならないような気がするのですが。相対パスは、ブラウザ側で解決されて、HTTPリクエストをブラウザからサーバに投げる段階で既に絶対パスに変換されてますので。

また、サーバの負荷を軽くするためでしたら、SSIを使わないことを最も有効だと思われます。SSIは、その名の通り、サーバ側でincludeしますので、その処理をするための負荷がサーバにかかってしまいます。

参考になれば幸いです。

参考URL:http://tohoho.wakusei.ne.jp/wwwssi.htm
    • good
    • 0
この回答へのお礼

非常に参考になりました。
長い間、おつきあい頂きまして、
誠に有り難うございました。

お礼日時:2004/10/18 18:03

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!