• ベストアンサー

SSIのインクルードに関してのご質問です。

WEBページで更新する部分をインクルード化して運用を効率化したいと考えています。 ただ1つのファイルをインクルードするのではなくhtmlの一部分(h2タグとstrongタグのみ)を抜き出してインクルードしたいと考えているのですが、良い方法が見つかりません。 SSIでインクルードしたいのですが、技術的に一部分を抜き出すことはできるのでしょうか。 この分野に関して知識が乏しいもので説明不足な点があるかもしれませんが、どうか宜しくお願いいたします。

  • R3mmn
  • お礼率100% (2/2)

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

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

既存のファイルから抜き出すと言うことはできませんが、 部分部分を入れ子にするということはできます。 h2.txt <h2>ヘッダ</h2> strong.txt <strong>強調</strong> include.shtml <!--#include virtual="h2.txt" --> インクルードされたファイル <!--#include virtual="strong.txt" --> ---ここから下が公開するアドレスのファイル index.shtml 全部をインクルード <!--#include virtual="include.shtml" --> partly.shtml h2のみをインクルード <!--#include virtual="h2.txt" --> こうしておけば、 index.html(がインクルードしているinclude.shtml)は、 partly.shtmlの<h2>だけをインクルードしているかのように見えると思います。

R3mmn
質問者

お礼

こんな方法があったんですね! これならなんとか出来そうです。 ご回答ありがとうございました。

その他の回答 (1)

  • steel_gray
  • ベストアンサー率66% (1052/1578)
回答No.1

SSIの構文そのものにはファイルの一部を抜き出して埋め込む機能はありません。 サーバ側にそういうスクリプトを置いておく必要があります。 SSI(スクリプトを指定) ← スクリプト(ファイルを読んで一部を出力) ← ファイル

R3mmn
質問者

お礼

ご回答ありがとうございました。 やはりPHPなどサーバサイドのスクリプトを組む必要があるのですね。 PHPで出来ないか再度検討してみます。

関連するQ&A

  • SSIのincludeを使用しているHTMLを、SSI負荷のサーバに移行したい

    SSIのincludeを使用してヘッダ・フッダ等を持たせていたHTMLを、SSIが使用できないサーバに移行することになりました。 トータルで500pほどあり、ヘッダ・フッダは共通ではないため全文置換するにしても手間と時間がかかります。 includeのタグの部分にそのままそのソースを引っ張ってきて吐き出してくれるようなソフトはないでしょうか?

    • 締切済み
    • CSS
  • SSIに関するご質問

    下記サイトを参考にHTMLファイルを外部から読み込む方法(SSI)について試行錯誤しております。 一通り作業を済ませファイルは読み込むのですが、ファイルが挿入された1行目の上に隙間(10px程)ができて困っておりご質問させていただきます。 参考サイト http://allabout.co.jp/gm/gc/23773/2/ ----------------------------------------- ・CSS * { margin: 0; padding: 0; } body { font-size: 12px; line-height: 1.2; font-weight: normal; font-family: "MS Pゴシック","Hiragino Kaku Gothic Pro W3","ヒラギノ角ゴ Pro W3","Osaka"; color: #000; background-color: #FFF; overflow-x: hidden; } h1 { font-size: 12px; line-height: 14px; margin: 0; padding: 0; } ----------------------------------------- ・共通部分のHTMLファイル(test.html) <h1>私のホームページ</h1> <p> <a href="a.html">HOME</a> <a href="b.html">紹介</a> <a href="c.html">日記</a> <a href="d.html">LINK</a> </p> ----------------------------------------- ・ページのHTML <!--#include virtual="/ssi/test.html" --> ----------------------------------------- ・備考 h1タグをspanにすると隙間がなくなって表示されました。 ----------------------------------------- CSSでどのような記述をすればh1タグの上にできる隙間をなくせるのかご教授いただければ幸いです。 よろしくお願いします。

    • ベストアンサー
    • HTML
  • SSIを挿入したWEBぺージがFireFoxでブラウザの中央に表示され

    SSIを挿入したWEBぺージがFireFoxでブラウザの中央に表示される方法をどなたか教えていただけませんか? TOPページに最新情報を挿入するためSSIのインクルードを使ってページを更新したところ、それまでブラウザの中央に表示されていたのですが、FireFoxで左寄せになってしまいました。(IEでは中央に表示されます。) 他のページが全て中央表示なので何とか中央表示にしたいのですが、どなたか対処方法を御存じの方がいらっしゃいましたらお教えください。 もともとは,<iframe>で表示していたのですが、SEO上ページに更新記録を付け加えても変更していないことになってしまうので、SSIを使用することにしました。 挿入したタグは <!--#include file="kousin.html"--> です。 ページは http://www.gassyuku-saijo.jp です。 よろしくお願いします。

  • includeファイルが開けない

    学校の課題用に配布されたプログラム(C++)を実行しようとしたのですが、 ビルドエラーが出てしまい、この解決方法がwebで調べてみてもわかりません。 当方、C++は初めてなのであまり詳しいことはわからないため、 こちらで質問しました。 エラーの内容は、 fatal error C1083: include ファイルを開けません。'fstream.h': No such file or directory というものです。 エラーが出た部分は #include "fstream.h" というふうになっているのですが、 この部分をいじっても解決されません。 また、プログラムはVC++6で書かれているようなのですが、 Visual Studio .NET 2003でやろうとしているのが間違いなのでしょうか? 不足点などあれば補足いたしますので、 よろしくお願いします。

  • JavaScriptの外部ファイル化とSSIについて

    いつもお世話になっております。 親切で丁寧なご回答に心から感謝いたします。 今回、JavaScriptを外部ファイルにし、 更新等の時間を大幅に削減しようと思っておりますが、 上手くいかないためこちらに質問させていただきました。 当方のホームページではメニュー部とタイトル部をSSIを利用し、 インクルードさせ、表示しておりますが、JavaScriptを外部ファイルにすると、 SSIでインクールドさせている部分だけ表示されなくなってしまいます。 Firefoxのソース表示でソースをみると、インクルードさせている部分は、 ソースにはありましたが、その部分だけHTML文書ではなく ただの文書(黒字)になってしまっております。 ただ、indexページだけはなぜか正常に表示され、 メニューから移動した際に、インクルードしたものが表示されない状態です。 メニュー部は外部ファイル化したJavaScriptでツリーメニューになっています。 何卒、宜しくお願いいたします。 ソースは下記のとおりです。 <HEAD> <META> <LINK href="detarame2006.css" type="text/css" rel="stylesheet"> <script type="text/javascript" src="script.js"> </HEAD> 省略 <TR> <!--#include file="top/top.html" --> </TR> <TR> 省略 </TR> <!--#include file="menu/menu.html" -->

  • ASP.NET(C#)とhtmlの#include

    webページで、 ヘッダー部分に、htmlのインクルード(#include virtual)を入れて、 C#側で、ログイン処理をするときに、ログインIDやパスワードなどのテキストボックスの値が読み取れません。 原因として、ヘッダーのインクルードのhtmlのformタグを削除したところ、 ログインIDなどのテキストボックスの値が読み取れました。 (※formタグの競合?) インクルードのhtmlのformタグを削除せずに、テキストボックスの値を読み取る方法がないか教えてください。

  • ssiで置き換えた部分の先頭に余分な空行が表示されます

    既存のhtmlの一部(以下のbbb.html)を次のように、ssiで置き換えたところ、 ブラウザ画面の該当部分の先頭に余分な空行が表示されます。 <!--#include virtual="/aaa/bbb.html" --> ソースには、<br>その他の余分なタグは含まれていません。 サーバ、ブラウザ、htmlの何れに問題があるのか、 切り分け方を教えて下さい。 よろしくお願い致します。

    • ベストアンサー
    • HTML
  • jsでhtmlを部分的にインクルードしたい

    現在作りかけのwebページを引継ぎで作っているのですが、 そのページがいくつかのhtmlを読み込んでできています。 インクルードにはjquery-1.2.2と、ajaxcodedisplayというjsを使用しているみたいなのですが、 私にはHTMLとCSSの知識しかありません。 ネットで色々と調べた結果、aタグ内にclassでcodeexample lines[24-32]と記述すると表示したい行数だけを表示できることがわかりましたが、 これだと行番号まで表示されてしまいます。 この行番号を消す方法、またはlinesじゃない部分的な表示の方法がありましたら教えてください。 よろしくお願いいたします。

  • SSI で引数をCGIに渡したいのですが、

    SSI で引数をCGIに渡したいのですが、 HTMLの記述を <h1>1行目<!--#exec cmd="./emoji.cgi 0"-->絵文字1行目分。</h1> <h1>2行目<!--#exec cmd="./emoji.cgi? 1"-->絵文字2行目分。</h1> <h1>3行目<!--#exec cmd="./emoji.cgi?2"-->絵文字3行目分。</h1> <h1>4行目<!--#include virtual="./emoji.cgi 3"-->絵文字4行目分。</h1> <h1>5行目<!--#include virtual="test.cgi? 4"-->絵文字5行目分。</h1> <h1>6行目<!--#include virtual="test.cgi?5"-->絵文字6行目分。</h1> として、CGI で $ARGV[0] で使いたいのですが、出力するとSSI部分に [an error occurred while processing this directive] と、ERROEが出力されて、上手く行きません。 ネットで調べてみるとApache バージョンのによってバグが有る様な内容も有りますし、 ASJホスティングサービスのページを見ると ------------------------------------------------------------------------------------------- コマンドライン引数を渡すSSI のご利用はいただけません。 こちらは、suExec ではなくApache の一般的なセキュリティ仕様となっております。 ------------------------------------------------------------------------------------------- と書いてあったりします。サーバーの設定の問題なのでしょうか? サーバーは PC DEPOT系のネットプラッツ、専用サーバー(2万2000円/月・結構無理して払っています)です。 中は、Apache バージョン 1.3.12 ・レッドハット6.2、と聞きました。 ネットプラッツの電話サーポートの方に訪ねたのですが、 「使えるか、使えないか、そこまでのサポートは出来ない」との事でした。 サポートの方はとても親切なのですが、肝心の事が「サポートできません」って事なので サーポートというよりカウンセリング状態で・・・問題が解決できません。 サーバーの設定方法 または 記述方法が有りましたら教えて頂けないでしょうか? 宜しくお願いします。

    • ベストアンサー
    • CGI
  • HP作成において、フォルダ整理後、SSIが上手く起動しません

    HPビルダーV6.0(バンドル版)、WindowsXPを使用して、HPを運営しています。 インフォシークの無料スペースを利用し、ブラウザ上で見ると自動的に上下に広告が入ります。 画面上部にメニュー項目を作っており、メニュー部分を外部ファイルにし、全ページにSSIを用いて、そこを更新した時に、全ページのメニュー部分が自動的に更新されるstmlファイルにしています。 stmlファイルは上部に広告が入らなくなってしまう為、stmlファイルでも広告が入る様に、インフォシークの案内から『<!--#include virtual="/header.txt" --><!--#include file="外部ファイル名.shtml" --』を〈BODY〉直後に入れています。 最近HP作成でファイルがだいぶ増えた為、フォルダビューから新しいフォルダを作り、ドラック&ドロップで整理をしました。その後、HPビルダーのブレビューでは問題なく見れるのですが、サーバーにアップロードしてブラウザ上で見ると、上部のメニュー部分が抜け、その部分に『[an error occurred while processing this directive]』とエラーメッセージが表示されます。 整理後、外部ファイルの階層が深くなってしまったからでしょうか?ちなみに、整理後のタグは『<!--#include virtual="/header.txt" --><!--#include file="../新しく作ったフォルダー名/外部ファイル名.shtml" -->』となっています。 整理はページ毎に行い、フォルダ数が増えました。 ちなみに、トップページの階層は HP/toppage/index.stml 外部ファイルの階層は HP/新しく作ったフォルダ/外部ファイル名.stml 階層が深くなっても使えるのでしょうか?何が悪いのか、教えて下さい。 長文を読んで下さり、ありがとうございました。