• ベストアンサー

会員認証スクリプト「ディレクトリゲイト」でのSSIのincludeの動作

初めまして。 現在「ディレクトリゲイト」を利用して会員サイトを運営しておりますが、会員のページからSSIで外部 ファイルをincludeしたいのですが、うまくいきません。 http://webpower.jp/websofts/password_protection/directory_gate/ (v2.09を利用しています) <!--#include virtual="aaa.txt" --> や、サーバからの絶対アドレスで指定したり、 いろいろやっていますが。。。 正しい指定の方法、ご存じの方いらっしゃいますでしょうか。 専用サーバを利用しているので、設定はいろいろ変更することが できると思います。 よろしくお願い致します。

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

  • ベストアンサー
回答No.3

うまくいかないとはどういうことでしょうか? HTMLに<!--#include virtual="aaa.txt" -->のまま表示されるのか、 [an error occured while 何か忘れた] などと表示されるのでしょうか。 それによって対処方法は違います。 <!--#include virtual="aaa.txt" -->のまま表示されるなら そのファイル(拡張子)でSSIを使えるように.htaccessなどで設定してください。 Apache2系での.htaccess Options +Includes AddType text/html .shtml AddOutputFilter INCLUDES .shtml Apache2系でしたら、 include fileはhtmlファイル(カレントディレクトリ)からの相対パスで、上層を指定することは出来ません。 include virtualはhtmlファイルからの相対パスまたは絶対パスで、カレントディレクトリの上層も指定出来ます。 ファイル名には"・・・"と、ダブルクォーテーションで囲ってください。 気になったことがあってダウンロードしてみましたが、 該当ページの説明には > CGI(Perl以外も対応)、 と書かれていますが、Perl必須です。 もしくは、Perl以外の言語の場合は、専用のファイルを別途ダウンロードしなければならないと思います。 > SSI(サーバーがSSIを許可していなくても)も動作します。 これはわかりません。おそらくSSIを許可していなければ動作しないと思います。 ソースコードを見ると、SSI用に書かれていそうな部分が見つかりませんでしたので、ともすればSSIでは動きません。 実験的にaaa.txtを表示したいだけならディレクトリゲイトはとりあえずは関係ないですね。

参考URL:
http://httpd.apache.org/docs/2.0/howto/ssi.html
taka333333333
質問者

補足

ありがとうございます。 file="aaa.txt" と表示されてしまいます。 コマンドそのまま表示されるわけではありませんでした。 その他のコマンドは、正常に動作するようです。 > SSI(サーバーがSSIを許可していなくても)も動作します。 dirgate.cgiの1800行前後で処理しているようです。 また何か分かりましたら、教えて頂けると幸いです。

その他の回答 (4)

  • luka3
  • ベストアンサー率72% (438/602)
回答No.5

v2.10を使うとどうでしょうか。 v2.09は手に入りませんのでどのように処理されるか確認できません。

taka333333333
質問者

補足

ありがとうございます。 v2.10とv2.09は、SSIの処理のコードを比較しますと、 全く同じでしたので、変わりはなさそうです。 luka3様は、うまくincludeできましたでしょうか。 できたとしましたら、どのように表記していらっしゃいますか?

  • luka3
  • ベストアンサー率72% (438/602)
回答No.4

ファイルの存在までは確認できているのですね。 ファイルのパーミッションはどうなっていますか? ちなみにうまくいかないというのは、何も表示されないのか、エラーが表示されるのか、どっちですか?

taka333333333
質問者

補足

ありがとうございます。 実行結果ですが、 <!--#include file="aaa.txt" --> に対し file="aaa.txt" と表示されてしまいます。 コマンドそのまま表示されるわけではありませんでした。 パーミッションは755でした。 644にしても同様でした。

  • luka3
  • ベストアンサー率72% (438/602)
回答No.2

fsizeやflastmodはどうなりますか? ちなみに""でくくるのはOKでした。きちんと処理されてました。

taka333333333
質問者

お礼

ご回答、ありがとうございます。 結果は下記の通りになりました。 <!--#lastmod file="aaa.txt" --> →Mon Apr 23 05:22:54 2007 正常 <!--#fsize file="aaa.txt" --> →38 正常 そのほかにも、 <!--#echo var="DATE_LOCAL"--> も正常でした。 はまっています~

  • luka3
  • ベストアンサー率72% (438/602)
回答No.1

includeの指定方法としては、 #include virtual=aaa.txt → ($SYS{'BASE_DIR'}で指定したフォルダ)/aaa.txt #include file=aaa.txt → (htmlのあるフォルダ)/aaa.txt のようです。 もしかしたら""でくくっているのがよくないのかもしれません。

taka333333333
質問者

お礼

ありがとうございます。 早速やってみましたが、残念ながら、出力されませんでした。 また何か分かりましたら、よろしくお願いします。 ありがとうございました。

関連するQ&A

専門家に質問してみよう