- ベストアンサー
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
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
#1です うっかりしていました。失礼っ。 あとから思いだして、こちらの方がわかりやすかったかなぁ、と今になって思います。 http://www.tohoho-web.com/wwwssi.htm
その他の回答 (4)
- 神崎 渉瑠(@taloo)
- ベストアンサー率44% (1016/2280)
includeでのルートディレクトリというのは、httpdのドキュメントルートのことで、 絶対パスは /rireki2/contents.html です。 ルートディレクトリの意味が2種類あることは、ANo.1の参照サイトには書かれてないようですが。。。 別のページに書かれているかもしれませんが、そこまで読んでいません。 サーバーのディレクトリシステムの絶対パスを使うときは<!--#exec cmd="" -->の時だけです。
お礼
解決しました。ありがとうございました。
#1のリンクを読み直してください。
#1です。 /~~~の絶対パスですが、わかりません。 と言ってもさじを投げているのではないです。 絶対パスは、質問者様の使用しているサーバなどによって異なります。 サーバーホスティング業者などのFAQなどを見てみてください。
補足
サーバー業者に問い合わせたところ <!--#include file="/home/loplopland-com/public_html/rireki2/contents.html" --> だとわかったのですが、それでもうまくいきません。 もう完全にお手上げ状態です・・・
おそらく、SSIのincludeコマンドを使用していると思いますが、引数をfileとするか、virtualとするかで、ファイルの位置を特定する方法が変わります。 http://www.scollabo.com/banban/ssi/ssi_005.html こちらなど、参考になるのではないでしょうか?
補足
原因がなんとなくわかってきました。 上の階層に呼び出すファイルがあるのでvirtualにしているんですが、「 / 」から始まるパスがわかりません。どうすればわかるんですか?
お礼
解決しました。ありがとうございました。