htmlの質問です

たくさんのhtmlファイルが使われているサイトを運営しています
今までheadの中身や上部に表示されいているメニューバーを変更する場合は
html一括変換ソフトで置換して対応してきましたが、更新に時間がかかります。
外部cssを使っているのですがそれと同じように1箇所のhtmlを変更すれば全てのhtmlが変わるようにしたいのですがどうすればいいでしょうか?
使ってるサーバーはさくらレンタルサーバーです

回答の条件
  • 1人5回まで
  • 13歳以上
  • 登録:2013/09/08 19:41:15
  • 終了:2013/09/15 19:45:03

回答(5件)

id:taknt No.1

きゃづみぃ回答回数13539ベストアンサー獲得回数11982013/09/08 20:06:51

ポイント40pt

http://news.mynavi.jp/news/2008/02/01/042/index.html

HTMLファイルをインクルードしてやればいいと思いますよ。

id:Cherenkov No.2

Cherenkov回答回数1503ベストアンサー獲得回数4932013/09/08 20:19:25

ポイント40pt

WordpressとかCMSで管理する。CMSならヘッダー、サイドバー、メニュー、本文と部品に分かれてる。

id:windofjuly No.3

うぃんど回答回数2625ベストアンサー獲得回数11492013/09/08 20:58:32

ポイント40pt

案1)ブログシステムやCMSを使う

管理画面でデザイン変更を行えばすべてのページに反映できる。
メニューなど固定部分はヘッダー、サイドバー、フッターなどに共通のものを出せる。
リンク、サイトマップなども自動的に追従できたりする。
移植にはかなりの手間がかかるが移植後のメンテナンスは非常に楽になる。

ライトプラン以外のさくらのレンタルサーバ、さくらのマネージドサーバでは、
Wordpress、MOVABLE TYPE、Xoops Cubeが準備されています。
http://www.sakura.ne.jp/function/cms.html


案2)SSIを使う

さくらのレンタルサーバ、さくらのマネージドサーバは標準で対応
http://support.sakura.ad.jp/manual/rs/tech_cgi.html
全HTMLファイルに対し、共通ファイルを読み込むための一行を書き加える必要がある。
一度書き加えれば、あとは共通ファイルをいじるだけで情報を反映できる。

<!--#include file="menu.txt"-->

上記さくらのサポートページでは htaccess 書き換え不要となっているが、
拡張子htmlでもSSIを利用可能にするためには下記の一行を書き加える必要がある。

AddType text/x-server-parsed-html .html .htm


没案)JAVAScriptでのインクルード

環境依存となるためお勧めはできない。

id:gatchan No.4

gatchan回答回数9ベストアンサー獲得回数12013/09/08 21:07:28

ポイント40pt

サーバースクリプトでインクルードするのが一般的な方法かと思います。
JavaScript等だと、ユーザー環境によっては使えない可能性もなくはないので。
まず、PHPが使えること。
読み込み元のhtmlの拡張子を変えたくない場合は.htaccess等によってサーバーの設定を変更できること、
などが前提となりますが。

以下のサイト等を参考にしてください。
共通部分のインクルード-ホームページ制作-
http://seo.k-m-k-m.com/hp/include/

コード例
[読み込み元] index.html (もしくはindex.php)

<html>
...
<body>
<!--例えばナビゲーションメニューを読み込み-->
<?php include("navi.html"); ?>

...コンテンツ...
</body>
</html>

インクルードする拡張子(ここではnavi.html)は .phpでも構いません。また、ファイルパスはindex.htmlからのパスを指定してください。
ナビゲーション等のhtmlソースを書いたものを用意してください。
おそらく、これでうまくいくはずです。

別の方法として、ローカルの作業ベースだと、Dreamweaverのライブラリ機能を利用するという方法でもできます(ただ、この場合は、作業は1ファイル変更ですが、Dreamweaverが関連ファイル全てを更新変更してしまいますが)

以上、お試しください。

---
.htaccessによるアクセス制御|さくらのレンタルサーバ|さくらインターネット公式サポートサイト
http://support.sakura.ad.jp/manual/rs/web/htaccess.html

id:gatchan

あとサーバーサイドならSSIもあります。

とほほのSSI入門
http://www.tohoho-web.com/wwwssi.htm

例.

2013/09/08 21:11:17
id:a-kuma3 No.5

a-kuma3回答回数4583ベストアンサー獲得回数19232013/09/10 10:16:45

ポイント40pt

メニューの変更がちょいちょいある、ということであれば、その部分を切り出して、フレームにすれば良いんじゃないかと、思うんですけど。

後、外部ファイルで javascript のファイルをひとつ読み込むようにしておくと、ちょっとした変更が楽に済む 可能性 があります(最初は、空っぽで良い)。
万能ではありませんけどね。

  • id:taknt
    JAVAScriptでのインクルードは環境依存になるから JAVAScriptを使っているホームページでも使用したらダメらしいよ。
  • id:windofjuly
    うぃんど 2013/09/09 00:11:06
    ブラウザで動くギミックとしてのJAVAScript利用と、
    根幹を成す部分での利用を同一視しているアカウントがいますが、
    メニューなど、コンテンツの根幹を成す部分が正常に動かないとなれば、
    サイト運営全体に支障を来してきますので『没案』です。
  • id:gatchan
    すみませんつまらないやりとりについコメントを汚してしまいました。質問者のためにならないので削除しました。
    良い案をご参考に。それだけでございます。
  • id:a-kuma3
    id:taknt さんが回答で紹介した「Displaying source code with Ajax」のソースを読んでみましたけど、環境異存がどおのというほどのことはやってません。
    ただ、HTML のソースコードを表示するために特化した処理になっている(タグなんかは、そのまま表示される)ので、今回の目的には、そのままでは、ちょっと使えない感じです。
  • id:taknt
    タグが そのまま表示されるのは 問題ですね。
  • id:Lhankor_Mhy
    iframe案に1票だな

この質問への反応(ブックマークコメント)

トラックバック

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません