外部ファイルを取り込んでメニューを作成する方法

 私は今までフレームを使用して ホームページ を作成していました。理由はメニューのメンテナンスが楽だからです。しかしフレームの欠点が目立つように感じて、フレームを使わない他の方法を模索していました。



スポンサード リンク

 最近、PHPまたはSSIを使用して外部ファイルを取り込んでメニューを作成したり、アフィリエイトプログラムを挿入したページを作成する方法があることを知り、この方法を採用することにしました。

 もちろんこの方法はPHPまたはSSIが使えるサーバーでないと行なうことができません。

 この方法を使うようになってから、ファイルの管理が非常に楽になりました。各ページに挿入したメニューやアフィリエイトスクリプトのメンテナンスが簡単になったからです。特にグーグルのアドセンスはスクリプトが基本的には同じで良いので特に効果的でした。

 またアフィリエイトスクリプトの中にはホームページビルダーでエラーになったり、ホームページビルダーが勝手にスクリプトを書き換えたりしていましたが、全くエラーが出なくなりましたし、勝手にスクリプトを書き換えられることも無くなりました。
 特にグーグルのアドセンスはスクリプトの書き換えを禁止されており、安心して使うことができます。

 その他の効果として、サイトマップのメンテナンスが全く不要になった事です。私のサイトマップは見出しに外部のメニューファイルを羅列しただけで構成されています。ページの追加の時メニューファイルはどうしても変更する訳でサイトマップをいじる必要が無いのです。

PHPを使用し外部ファイルを取り込んでメニューを作成

 PHPとはHTML文書中に記述されたスクリプトをサーバーのPHPが実行しその結果を HTMLデーターとしてWebブラウザに渡すものです。

 PHPファイル(拡張子は普通php)の中でメニューを呼び出すには次のようにします。

<?php include("http://domain/***/inc/menu.htm"); ?>

 この方法だとドメインが違っていると使えないので、汎用で使えるようにするには次のようにします。

<?php include($_SERVER['DOCUMENT_ROOT']."/***/inc/menu.htm"); ?>

 ここで、「/***/inc/menu.htm」は「http://domain/***/inc/menu.htm」から「http://domain」を取り除いたもので / から始まります)

 この方法はどのディレクトリからでも同じ方法で外部ファイルを呼び出せ、ドメインが違っていても何も変更することなく使えます。またメニューファイルの拡張子はhtmでなくてhtmlでもphpでもかまいません。

 includeを使わずrequireを使っても同様な動作をさせることができますが、requireの場合は、要求されたファイルがもし無かった場合はエラーとなり、そこでプログラムが停止する場合があるようです。

.htaccessを使用してhtmlファイルをPHPで動作させる方法

 SEO対策という観点から考えるとファイル名を変えるのは好ましくありません。ファイル名を変更せずに従来のままのファイル名を使用する必要があります。
 PHPを動作させるファイルの拡張子をphpだけでなくhtmやhtmlでも使えるようにするには.htaccessファイルに次の行を追加します。

AddType application/x-httpd-php .htm .html

 この時拡張子の前のドットはあっても無くてもかまいません。



スポンサード リンク



SSIを使用し外部ファイルを取り込んでメニューを作成

 SSIとはServer Side Includeの略です。つまりサーバー側でインクルードするので、サーバーに負担が掛かります。その為、SSIの使用を許可していないサーバーも多いようです。

 SSIファイル(拡張子は普通shtmまたはshtml)の中でメニューを呼び出すには次のようにします。
 例としてドメインのルートからメニューまでのパスは /***/inc/menu.htm とします。

<!--#include virtual="/***/inc/menu.htm" -->

 ここで、「/***/inc/menu.htm」は「http://domain/***/inc/menu.htm」から「http://domain」を取り除いたもので / から始まります)

 この方法はどのディレクトリからでも同じ方法で外部ファイルを呼び出せ、ドメインが違っていても何も変更することなく使えます。またメニューファイルの拡張子はhtmでなくてshtmでもshtmlでもかまいません。

.htaccessを使用してhtmlファイルをSSIで動作させる方法

 SSIを動作させるファイルの拡張子をshtmやshtmlだけでなくhtmやhtmlでも使えるようにするには.htaccessファイルに次の2行を追加します。

Options +Includes
AddHandler server-parsed .htm .html

 この時拡張子の前のドットはあっても無くてもかまいません。またhtmlファイルに同時にPHPとSSIを有効にすることはできません。まあ、する必要もありませんが。
 拡張子 htmやhtml に SSI を有効にした場合、すべての html ファイルがサーバーによってSSIだと認識されて、サーバーに負担を掛けるので好ましくありません。

Main menu |Mobile |あすなろ電器 |工夫と製作 |素人農業 |修理技術 |生活情報 |健康情報 |名所旧跡 |ネット環境 |写真集 |植物の生態 |動物の生態 |電気柵 |English |Sitemap |お問合せ

HP作成 Menu |迷惑書込対策 |迷惑メール対策 |メール送信規制 |BBSログ変換 |メールCGI改造 |テキストメニュー |HTML一括変更 |外部Menu file |外部CSS |段組レイアウト |表示の速いHP |HPの横幅 |HPの背景 |HPの文字 |HPの見出し |HPのタイトル |htaccess機能 |Adsenseクリック規制 |Google広告の配置 |HPビルダー起動時間 |複数パソコンでHP更新 |文字の大きさ変更 |ページ内検索 |Thumbs.db


Car Evolution |Tomy's HP |このページの先頭

振幅変調波形
as76.netはインターネットの利用者へ有益な情報を提供することで世の中に貢献するように努力しています。


スポンサード リンク