外部ファイルを読み込むSSIについて

このQ&Aのポイント
  • 外部ファイルを読み込むSSIについての質問。
  • Webサイトのヘッダーとサイドバー、フッターを外部ファイル化し、SSIを使用して読み込んでいますが、表示が崩れてしまいます。
  • head情報の重複問題や他の方法を教えてほしい。
回答を見る
  • ベストアンサー

外部ファイルを読み込むSSIについて

Webサイトのヘッダーとサイドバー、フッターを細分化し、外部ファイルを3つ作成しました。 そして、index.htmlなどに、ヘッダーとサイドバー、フッターを読込みたい場所に、次のように記述しました。※ちなみに、読み込み元の拡張子はレンサバの指定により「shtml」にしました。 <!--#include virtual="外部ファイル名.html" --> しかし、ブラウザで表示してみたら、デザインが崩れてしまいました・・・ 外部ファイルには、head情報を記述していなくて、表示したい内容のタグや文章だけなのですが、外部ファイルにもhead情報を記載し、cssを適用させる必要があるのでしょうか? しかし、その場合、きちんと表示されたとしても、ブラウザでソースを確認すれば、head情報が2重で記載されてしまうはずです・・・・・ このような場合、私はどのような対応をしたら良いのでしょうか? もしくは、外部ファイルを読み込む場合、他に良い方法はるでしょうか?

noname#233083
noname#233083
  • CSS
  • 回答数1
  • ありがとう数1

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

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

例えば <div class="header">  <h1>見出し</h1> </div> とだけかいたファイルを、shtml側から <!--#include virtual="外部ファイル名.html" --> で読み出すだけです。  それでデザインが崩れるということは考えられませんので、あなたのスタイルシートの記述が間違っているとしか思いつきません。  firefox+firebugなどで、それぞれの要素にどのスタイルが適用されているかを確認されたら良いでしょう。

noname#233083
質問者

お礼

ありがとうございます。 わかりました。一旦、確認してみます。

関連するQ&A

  • phpでヘッターやサイドバーを読みこむ方法について

    Webサイトを作成したのですが、ページ数も多くなってきて管理が大変になりました。 そこで、ヘッダーやサイドバー、フッターを外部ファイルにし、phpで読みこむ方法というものをやってみたいと思っております。 一応、問い合わせフォームはphpで作成してあるので、またphpに挑戦したいと思っております。 そこで、気になることがるのですが、ヘッダーやサイドバー、フッターを外部ファイルにする場合、現状のhtmlで記述してあるままで3つに細分化して外部化すれば問題ないでしょうか? また、ファイル名の拡張子はhtmlのままで良いでしょうか? そして、読みこみ元のファイルの拡張子はphpだと思うのですが、中身としてはどのようなコードを使って読みこめば良いのでしょうか?

    • ベストアンサー
    • PHP
  • SSIでレイアウトが崩れる?

    SSI超初心者です。よろしくお願いします。 HPのメンテが大変になってきたため、共通部分のヘッダー・メニュー・フッターを外部ファイル化してSSIのインクルード文で読み込もうとしています。正常表示されていた元のHTMLファイルからカット・ペーストで外部ファイルを作成し、元部分にはインクルード文を挿入したうえでSHTMLファイルとして保存しました。 一応これでそれなりの表示にはなるのですが、微妙(10~20pxほど)にレイアウトがあちこち崩れて困っています。 とくにHTMLページからSHTMLページにリンクで行くと、全体が20pxほど下にずれているため、「がたっ!」が明白です。HTMLページからHTMLページへの移動ではそれは起こりません。 原因と対処方法が分かる方がいらしたら教えてください。超初心者なので、見当違いの質問でしたらごめんなさい。

    • ベストアンサー
    • HTML
  • CSSファイルの上手な使い方を教えて下さい。

    現在、Webサイトを作成しており20ページくらいになりますが、色や形を変えることが多々あり、そのたびにCSSファイルのコードを修正するのが面倒です。 私はhtmlファイル20枚につき、CSSファイル20枚となっており、すべてのCSSファイルにヘッダーやフッターサイドバーのデザインを施すコードが記述されております。 この方法は非効率でしょうか? 良く考えてみたのですが、全てのページでヘッダーとフッター、サイドバーのデザインが同じなら、ヘッダー、フッター、サイドバーだけのCSSファイルを1つ作成し、メインコンテンツはページの分だけCSSファイルを作成するべきなのでしょうか? この場合、htmlファイル1枚につき、2枚のCSSを読みこませれば良いのでしょうか?

    • ベストアンサー
    • CSS
  • 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" -->

  • htaccess ssi basic認証

    ssiでヘッダー・フッターを読み込んでいるサイトがあります。 そこでまずhtaccessでssi、shtml→htmlへの設定をしています。 そのサイトの中でディレクトリを切ってbasic認証が必要なページを作成しました。 そのディレクトリの中ではヘッダー・フッターが読み込むことができず、エラーが表示されます。 an error occurred while processing this directive そこでbasic認証に使ったhtaccessにもssiの設定を追記しましたがうまく行きません。 ssiとbasic認証を同時に設定することはできるのでしょうか。

  • phpで外部ファイルを読み込んだ際のURLについて

    Webサイト全ページのヘッダーとサイドバー、フッターは同じ内容です。 そのため、Webサイトを更新するときの作業効率を考えて外部読み込みをしようと思っております。 以下の手順で、phpのincludeを使って、一応読みこむことはできました。 (1)「index.html」を「index.php」に拡張子を変更 (2)「index.php」の読みこませたい部分に次のように記述 <?php include('./header.html'); ?> (3)「header.html」を作成 以上の手順で、FFFTPでアップロードして、ブラウザで表示したら、読みこみに成功しておりました。 しかし、当然といえば当然なのですが、次ようにサイトのurlの拡張子がhtmlからphpに次ようになっておりました。※urlはダミーです。 http://www.sample777.com/index.php このままだと、全てのページのurlの拡張子がphpになってしまいます。 この場合、seoやユーザービリティ―などの観点から、何か問題はありますか? urlに表記されるphpの部分をhtmlのままにしたいのですが、何か方法はありますか?

    • ベストアンサー
    • PHP
  • css外部ファイル(ヘッダ、フッタ)の書き方

    素人です。 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"> でhtmlを(テキストエディタを使って)書いています。 ヘッダとフッタをcssで書きたいので参考サイト等を探していますが、 htmlに埋め込む方法ばかりで、外部ファイルの書き方が見つかりません。 例えば、 ---------- <style> * { margin: 0; padding: 0; } #header { position: ●●●● left: 0; top: 0; background-color:●●●● color: ●●●● width: 100%; height: 30px; z-index: 3; ---------- のようなソースは見つけることが出来るのですが、これを外部ファイルに書き出す方法が分かりません。 ヘッダ内にて <link rel="stylesheet" href="ファイル名.css" type="text/css" /> を宣言し、外部に読み込みファイルを作成する方法で、ヘッダとフッタは作れないのでしょうか? 探し方が悪いのかもしれませんが、どうしても見つけることが出来ません。 書き方の参考サイトや、ソースの書き方を教えて下さい。 よろしくお願い致します。

    • ベストアンサー
    • HTML
  • 長いヘッダーを java外部ファイルにしたい

    ヘッダーのナビゲーションバーの部分を、 10個、全て画像のボタンをロールオーバーにしたいので、ソースの記述が多くなります。 全て共通のヘッダーなので、外部ファイル化したいのですが、 記述方法が、よくわかりません。 ヘッダー部分のXHTMLの記述をそのまま、javaファイルにコピペしてつくればよいのでしょうか? CSSもそのままでしょうか? "で囲む と、"前の¥など、他に、気をつけるべき点を教えてください。 よろしくおねがいします

  • 外部ファイルに変数を格納することはできますか?

    今、手元にあるphpの書籍で変数の項目を読んでいて疑問に思ったことがあります。 外部ファイルに変数を格納し、読み込み元のファイルで出力することはできるでしょうか? 例えば、外部ファイルに次のように記載したとします。 <?php $message = "こんにちは"; ?> そして読み込み元のファイルに次のように記載したとします。 <?php echo $message; ?> この状態で2つのファイルをアップロードし、ブラウザの画面に「こんにちは」と表示されるでしょうか? できないですよね? 上記のような方法で、「こんにちは」を表示する場合、何が足りないのでしょうか?

    • ベストアンサー
    • PHP
  • iframeで別ファイルで管理しているhtmlを同

    iframeで別ファイルで管理しているhtmlを同一のページに表示させたい。 htmlをかじったレベルなので、多少記載に誤りがあると思いますが、優しい目で見てください。m(__)m index.htmlファイルで、別ファイルで管理しているヘッダー、サイドバー、フッターをそれぞれifameで 読み込むようにしています。 しかしながら全体でプレビューするのが本番環境だけになってしまい、もしどこかでミスしていると怖いためこれらを同一のページに表示させたいです。 どうすればできますでしょうか? ちなみにHPソフトはドリームウィーバーを使っております。

専門家に質問してみよう