• ベストアンサー

SSIのファイル呼び出しができない

ひとつ階層が深いshtmlから一つ上の階層のhtmlファイルをSSIで呼び出そうとすると「an error occurred while processing this directive」というエラーが出てしまいます。 調べたところこのエラーメッセージではどのような種類のエラーなのかがわからないということだったので行き詰ってしまいました。 ファイルの場所指定などは間違っておらず、コードなども同じ階層で呼び出しが成功しているファイルと同じものを使用しているのですがどこに問題があるのでしょうか? 呼び出そうとしているファイル(問題のファイル) http://www.loplopland.com/rireki2/data/naz.shtml 呼び出しているファイル(呼び出すファイルと同じ階層にある成功例) http://www.loplopland.com/rireki2/ 呼び出されるファイル http://www.loplopland.com/rireki2/contents.html

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

  • ベストアンサー
noname#76085
noname#76085
回答No.5

#1です うっかりしていました。失礼っ。 あとから思いだして、こちらの方がわかりやすかったかなぁ、と今になって思います。 http://www.tohoho-web.com/wwwssi.htm

nurunurupo
質問者

お礼

解決しました。ありがとうございました。

その他の回答 (4)

回答No.4

includeでのルートディレクトリというのは、httpdのドキュメントルートのことで、 絶対パスは /rireki2/contents.html です。 ルートディレクトリの意味が2種類あることは、ANo.1の参照サイトには書かれてないようですが。。。 別のページに書かれているかもしれませんが、そこまで読んでいません。 サーバーのディレクトリシステムの絶対パスを使うときは<!--#exec cmd="" -->の時だけです。

nurunurupo
質問者

お礼

解決しました。ありがとうございました。

noname#76085
noname#76085
回答No.3

#1のリンクを読み直してください。

noname#76085
noname#76085
回答No.2

#1です。 /~~~の絶対パスですが、わかりません。 と言ってもさじを投げているのではないです。 絶対パスは、質問者様の使用しているサーバなどによって異なります。 サーバーホスティング業者などのFAQなどを見てみてください。

nurunurupo
質問者

補足

サーバー業者に問い合わせたところ <!--#include file="/home/loplopland-com/public_html/rireki2/contents.html" --> だとわかったのですが、それでもうまくいきません。 もう完全にお手上げ状態です・・・

noname#76085
noname#76085
回答No.1

おそらく、SSIのincludeコマンドを使用していると思いますが、引数をfileとするか、virtualとするかで、ファイルの位置を特定する方法が変わります。 http://www.scollabo.com/banban/ssi/ssi_005.html こちらなど、参考になるのではないでしょうか?

nurunurupo
質問者

補足

原因がなんとなくわかってきました。 上の階層に呼び出すファイルがあるのでvirtualにしているんですが、「 / 」から始まるパスがわかりません。どうすればわかるんですか?

関連するQ&A