• ベストアンサー

SSI #include virtual="~"

<!--#include virtual="~" --> の「~」のところにhttp://で始まるURLをいれるとSSIが動きません。 <!-- #include file="http://****/***" --> これもダメ。 <!--#include file="~" --> にファイル名を入れるとSSIは動きます。 <!-- #include file="../**/***" --> これも動きます。 私は何か勘違いをしていますか? #windows2000サーバーです。

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

  • ベストアンサー
  • leaz024
  • ベストアンサー率75% (398/526)
回答No.2

SSI の include コマンドで URL は指定できません。 virtual で使用可能なファイルの指定形式は「相対パス」か「仮想パス(ドキュメントルートからのパス)」だけですので、読み込みたいファイルのURLが   http://www.exsample.com/tmpl/footer.tmpl だとすれば、   <!--#include virtual="/tmpl/footer.tmpl"--> と指定すればOKです。 file もファイルの指定方法に多少の違いがあるだけで、ほぼ同じです。 下記URLもご参考ください。 http://httpd.apache.org/docs/howto/ssi.html#includingastandardfooter http://tohoho.wakusei.ne.jp/wwwssi.htm#Include

参考URL:
http://httpd.apache.org/docs/howto/ssi.html#includingastandardfooter, http://tohoho.wakusei.ne.jp/wwwssi.htm#Include
s-holmes
質問者

お礼

回答ありがとうございました。 無事解決しました。 (^^; >"/tmpl/footer.tmpl" スラッシュからはじまるというのが初体験でした。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

回答No.1

SSIって自サーバのファイルしか扱えなかった気がします。  ※ちょっと確認できませんでした。 なので、httpをつけないフルパス(/hoge/a.htmlなど)であればいけると思います。 IISをお使いなのでしょうか? 一応リファレンスページをつけておきます(参考URL) Apacheの場合は以下です。 http://www.apache.jp/docs/howto/ssi.html

参考URL:
http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/jpiis/iishelp/iis/htm/core/iisiinc.as
s-holmes
質問者

お礼

回答ありがとうございました。 お蔭様で解決しました。 取り乱しました・・ (^^;

s-holmes
質問者

補足

回答ありがとうございました。 補足します。 includeさせたいファイルはすべて自サーバーのURLです。これがうまくいかない。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 【SSI】include file、include virtualが動作しない

    htmlはほぼマスターしているのですが、SSIは超初心者です。 標記の通り、include file、include virtualを試しているのですが、参照先のファイルが表示されません。サーバにはアップロードしておらず、ローカルで確認しているのですが、これでは動作しないのでしょうか。 --index.shtml <html> <head> </head> <body> <!--#include file="0000.html" --> ... <!--#include file="0001.html" --> </body> </html> --0000.html <html> <head> </head> <body> あああ </body> </html> 情けない質問ですが、よろしくお願いします。

    • ベストアンサー
    • HTML
  • ssi がうまく動作しません。

    サーバ会社に訪ねると.htaccessに AddType text/html shtml を記入して下さいとのことでした。 以下の方法でためしましたが、エラーがでるわけでもなく、<!--#INCLUDE VIRTUAL="/ssi/xxx.shtml"--> にした部分だけが表示されません。 http://aaa.com/bbb/ccc/ddd.html .htaccess は、bbbのファイル内におきました。 1, ssi/xxx.shtml は、indexと同じトップの階層におきました。 ddd.html に  <!!--#INCLUDE VIRTUAL="/ssi/xxx.shtml"--> を記入しました。 2, ssi/xxx.shtml は、bbbのファイル内において、ddd.html に <!--#INCLUDE FILE="/ssi/xxx.shtml"--> を記入してみましたが、これもだめでした。 パーミッションも何がいいのか、お分かりでしたらお願い致します。 ちなみに777にして試したのですが、だめでした。

    • ベストアンサー
    • CSS
  • SSI - SSIで読み込んだファイルにさらにSSIの<!--#fsize・・・を指定すると読み込んでくれない。

    HTMLファイルに <!--#include virtual="ファイル名"--> でファイルを読み込んでいます。 そのファイルの中にさらに <!--#fsize virtual="サイズをとりたいファイル名" --> を指定しているんですが、サイズが表示されません。 ファイル位置は正しく設定しております。 もちろんSSI対応のサーバーを使用しています。 読み込んでいるファイルでもSSIが有効になる方法を教えてください!

  • IISのSSIの設定について

    SSIについてここで質問していいのか分からなかったんですが、 SSIが見当たらなかったのでここで質問させていただきます。 現在ローカルでSSIの表示テストを行っています。SSIの設定はデフォルトでされているので特に設定する必要はないと思っていたのですが、以下の現象がおこっています。原因がお分かりでしたらお教えください。 SHTMLファイル内で他ファイルインクルードを行うためにincludeを記述したのですが、引数名fileは正常に取り込めるのですが、virtualでは「404 Object Not Found」のエラーが出ます。以下該当の記述。 <!--#include file="./include/test.html"--> 正常 <!--#include virtual="../include/bgcolor.html"--> 異常 レンタルサーバ上ではどちらも問題なく表示でき、ローカルの場合だけエラーが出ます。 IISの設定に何か必要なのでしょうか? IISのバージョンは5.1 OSはXPです。 以上。よろしくお願い致します。

    • ベストアンサー
    • CGI
  • SSIを作るにあたり

    使っているレンタルサーバーの決まりで、ファイル名をshtmlにしなくてはいけないのですが、shtmlにすると、ファイルが開けなくなってしまいます。txtをつければ開けるのですが、txtをつけなくても開く方法はないでしょうか? それと、SSIを作る時、ファイル名をshtmlにするのは、<!--#include file="★★★" --> ←これを貼り付けたファイルでよろしいんですよね?

    • ベストアンサー
    • HTML
  • DreamWeaverでSSIをつかったのですが、ブラウザで表示されません。

    インクルードするファイルには <!--#include file="ssi/header.html" --> を挿入してあり、Dreamweaverのデザインでは きちんと表示がされております。 それをサーバーへアップしてもブラウザ上では表示されません。 もちろん、header.htmlはサーバーへアップしてありますし インクルードのタグを書いているページはshtmlです。 サーバーもSSIは対応しています。 いろいろな過去ログを参照したのですがいまいち原因がわかりません。 階層が間違っているのかと思い、 <!--#include virtual="ssi/header.html" --> でもしてみましたが、やはり表示されませんでした。 ちなみに、ブラウザで表示されるもののソースをみると <!--#include file="ssi/header.html" -->の記述が残ってあります。 通常、上記のようなインクルードされたものは記述がなくなるはずなのですが、なぜか表示されております。 .htaccessなるものですればよいのか どうやってすればよいのかが全然わからず困っております。 どうか、ご教授下さいませ。

    • ベストアンサー
    • HTML
  • SSIの表示確認について

    ホームページのheaderとfooterを共通のSSIで表示しようと設定、 サーバーにアップロードしブラウザで確認したところ無事に表示はされるのですが・・・ 20ピクセル(見た感じ)ほど下方向にずれて表示します。 (SSIを使用しない場合は設定どおり表示されます。) HTMLファイル <!-- /headerエリア --> <div><!--#include virtual="/ssi/header.html" --></div>  省略 <!-- /footerエリア --> <div><!--#include virtual="/ssi/footer.html" --></div> HTMLではheader、footerエリアのmargin、paddingとも上は0としています。 また、includeさせる部分も<div>~</div>内を抜き出しssiディレクトリにheader.html、 footer.htmlのファイル名で保存されています。 .htaccessファイル Options +Includes AddHandler server-parsed html なぜ下方向にずれて表示されるのか、解決できません。 ぜひとも、ご教授お願いします。

  • ssiのinclude fileについて

    現在、サイト制作中なのですが、流行のRSSを取得し、トピックスを作成するという事を行っているのですが、どうもうまくいきません。 http://njoy.pekori.to/blog/index.php?eid=38 こちらを参考にし、表示させる所まではできました。 ただ、この方法ですと、各RSS配信サイト事にスクリプトを用意しなければなりません。 そこで、各ニュースサイト事にスクリプトを分け、説明にある通り、 <ul><!--#include file="rss.phpのアドレス" --></ul> で、新たなスクリプトのパスを書いてみましたが、何故か、そのPHPのソースが表示されてしまいます。 試しに、 <ul><!--#include file="1/rss.php" --></ul> <br> <ul><!--#include file="2/rss.php" --></ul> と並べてみ、確認するとやはり下のほうだけPHP自体のソースが表示されます そこで、上の方を削除してみると、下のほうは綺麗に表示されました 全く離れた所に、 <ul><!--#include file="3/rss.php" --></ul> を記載してみると、やはりこれもソースが表示されます。 同一ページでは、include fileが使えないのでしょうか? それとも、使うには何か方法がいるのでしょうか? 現在、.httaccessにて、 <Files index.html> Options +Includes AddHandler server-parsed html </Files> と、index.htmlでssiを実行できるようにしています。

    • ベストアンサー
    • CGI
  • サーバーサイドインクルード

    Macromedia Dreamweaver 8を使用しております。 SSIを可能にしてサーバーサイドインクルードで下記のテーブルを表示しております。 <!--#include virtual="######.html" --> .htmlそのもののファイルを読みとる方法ではなく、 ファイルの中のテーブルのみを抽出して表示させれる方法があれば教えて下さい。

    • ベストアンサー
    • HTML
  • CGIにSSIカウンタをつけたい

    掲示板や日記帳などのCGIに、別途ダウンロードしたSSIのテキストカウンタを表示させようとしたところ、ローカル・Web共に表示されませんでした。 表示する為の記述は「<!--#include virtual="仮想パス"-->」で、HTMLファイルに記述した場合は問題なく表示・動作しました。 HTMLファイルで表示・動作しましたし、CGI・SSI・「.htaccess」ファイルなどの設定はおそらく問題ありません。 SSIのテキストカウンタは「The Room」というサイトの「Text Day Counter Ver.1.10 SSI版」を使用しています。 CGIは「掲示板や日記帳など」と言いましたが、まだ検討段階で特定のCGIはなく、色々なCGIで試しています。 ※特定のものだけではなく、テキストカウンタを表示したいと思うCGIにつけたいのです。 CGIの記述は (1) print "<!--#include virtual=\"仮想パス\"-->\n" ; (2) print '<!--#include virtual="仮想パス"-->\n' ; (3) print "<!--#include virtual='仮想パス'-->\n" ; (4) print <<"EOM"; <!--#include virtual="仮想パス"--> EOM と4通り試しましたが、どれも動作しませんでした。 SSIのテキストカウンタのパスが「http://xxx.yyy.zzz/aaa/bbb/ccc/txtdayc1.cgi」だとしたら、仮想パスは「/aaa/bbb/ccc/txtdayc1.cgi」のようなので、そう記述しましたが動作しませんでした。 CGIと同じディレクトリに置いているので、記述を「<!--#include virtual="./txtdayc1.cgi"-->」に変えたところ、HTMLファイルでは動作しました。 なぜSSIのテキストカウンタがCGIで表示されないのか、アドバイスをお願いできないでしょうか? また、「<!--#include virtual="仮想パス"-->」を「<!--#include virtual="CGIファイル名"-->」または「<!--#include virtual="フルパス"-->」のように記述しても問題ないのかも教えて頂けると助かります。 宜しくお願い致します。

    • ベストアンサー
    • CGI
このQ&Aのポイント
  • マカフィー リブセーフ 3年無償版を誤ってアンインストールしてしまいました。再インストール方法を教えてください。
  • マカフィー リブセーフ 3年無償版の再インストール手順を教えてください。
  • マカフィー リブセーフ 3年無償版を再度インストールしたいのですが、方法を教えていただけますか?
回答を見る

専門家に質問してみよう