• 締切済み

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 なぜ下方向にずれて表示されるのか、解決できません。 ぜひとも、ご教授お願いします。

noname#145208
noname#145208
  • HTML
  • 回答数1
  • ありがとう数2

みんなの回答

  • ORUKA1951
  • ベストアンサー率45% (5062/11036)
回答No.1

SSIで出力されたときのHTMLを調べてください。答えはそこにあるのは明白ですから・・ そのURLをValidatorやAnothe HTML lintで調べたり、fireBugでスタイルシートとあわせてチェックする。

noname#145208
質問者

お礼

ご回答ありがとうございます。 再度チェックしてみます。

関連するQ&A

  • SSIをhtmlで有効にするのはよくないでしょうか

    100ページくらいのhtmlに共通のメニュー(ナビゲーション)やフッタを入れるために、メニューやフッタファイルをSSIでincludeしています。 .htaccessで AddHandler server-parsed html としていますが、これをやると(全てのhtmlを一旦サーバーが解釈するので)サーバーの負担が増大するからよくないとききました。 実際のところどうなんでしょうか? SSIを使わないページはごくわずかで、大半がshtmlであれば結局大差ないでしょうか?

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

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

    • ベストアンサー
    • HTML
  • Apache2.2でPerlを呼び出すSSIを使ったHTMLをloca

    Apache2.2でPerlを呼び出すSSIを使ったHTMLをlocalhostで動かそうとしています。 exec cmdをHTMLファイルに埋め込みました。インターネットのApacheでSSIを使う方法を読み,httpd.confの中に Options FollowSymLinks Multiviews の後にIncludesをつけ 念のため Options Indexes FollowSymlinks の後にもMultiviews Includes をつけ   AddType text/html .shtml と AddHandler server-parsed .shtml を加えました。しかし、localhostで実行するとHTMLのSSIの部分だけ表示されません。 (アクセスカウンターのカウンターだけ表示されません)。どうしたらよいのでしょうか。 どなたか解決できるかた、回答よろしくお願いします。

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

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

  • ssiをhtmlで動作させる為、htaccess内に以下のような記述を

    ssiをhtmlで動作させる為、htaccess内に以下のような記述をしました。 AddHandler server-parsed .html これでhtmlのままSSIは正常に読みこまれました。 しかしながら、これによりSSIを読み込んでいる同じファイル内にphpを以下のようにインクルードしているのですが、これが正常に読み込まれなくなりました。 <?php include"../../../php/123123.php" ?> SSIを読み込ませつつ、上記phpを正常に動作させる方法はないでしょうか。 ちなみにサーバーはロリポップです。 宜しくお願いします。

  • Apache2.2でPerlを呼び出すSSIを使ったHTMLをloca

    Apache2.2でPerlを呼び出すSSIを使ったHTMLをlocalhostで動かそうとしています。 AddHandler cgi-script .cgi .plに変更。 exec cmdをHTMLファイルに埋め込みました。 <!--#exec cmd="/PROGRA~1/APACHE~1/Apache2.2/cgi-bin/counter.pl counter"--> インターネットのApacheでSSIを使う方法を読み,httpd.confの中に Options FollowSymLinks Multiviews の後にIncludesをつけ   AddType text/html .shtml と   AddHandler server-parsed .shtml を加えました。しかし、localhostで実行するとHTMLのSSIの部分だけ表示されません。 (アクセスカウンターのカウンターだけ表示されません)。エラーログには ”指定されたファイルが見つかりません。 : don't know how to spawn cmd child process: C:/Program Files/Apache Software Foundation/Apache2.2/htdocs/counter.shtml” と記録されていました。 どうしたらよいのでしょうか。 どなたか解決できるかた、回答よろしくおねがいします。

    • 締切済み
    • CGI
  • 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
  • SSI

    SSIを使用してHTMLファイルをインクルードする場合は、それぞれのHTMLファイルに宣言部分とか<head>~</head>は書くべきですかね? 書いた場合は、ブラウザからソースを見ると、宣言がいっぱいあったりしておかしな感じに・・・。 インクルードするファイルが、HTML~XHTMLなど様々であるならば、それぞれに宣言が必要な気はします。 ただ、インクルード前提でHTMLファイルが作られている場合は、宣言とかを書かずにいきなり<body>~</body>とかでもいい気がします。 そうすると、普通のソースみたいになりますし。 SSIってサーバ側で処理するものだから、ソースがサーバで生成されて、それがブラウザに送られるのかな? そうだとしたら、宣言はそれぞれにある必要はないですよね。 どうなんでしょうか?

    • ベストアンサー
    • HTML
  • SSI #include virtual="~"

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

  • 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

専門家に質問してみよう