サイト内のページは、ページが違っても結構共通の部分というのが多いと思います。
当サイトでいえばちょっと手抜きではありますが、ヘッダー、サイドメニュー、フッターがほとんどのページで共通です。
例えばサイドメニューに何か項目を追加しようと思うと、HTML、CSSのみで作られていると、1ページ1ページを変更しなくてはならなくなり、それが仮に100ページ以上になってしまうと、それだけでかなりの時間をとられてしまうことになります。
そんな手間を省くことができるのが、【共通部分のインクルード】で、インクルードとは、『全体の一部として含める』ということを意味します。
これがどういうことかというと、共通している部分を1つのファイルにしてしまうということです。
そうすることにより、何か変更したい箇所があった場合、そのファイルを変更するだけで、全ページを一度に変えることができるようになるわけです。
インクルードするには、スクリプト言語の1つである、PHPを使用します。
PHPと聞くとややこしく感じるかもしれませんが、大丈夫です!
僕自身PHPなんてさっぱりですが、これだけは非常に簡単なので使っています。
まず共通の部分のHTMLをコピーし、メモ帳か何かに貼り付けます。
そして何か適当にファイル名をつけて、そのファイルの拡張子をPHPに変更します。
メモ帳ならファイル名が『ファイル名.txt』になっているところを、『ファイル名.php』に変更するということです。
『名前をつけて保存』を選択し、『ファイルの種類』が『テキスト文書(*.txt)』になっているところを、『すべてのファイル』に変更し、あとは手でファイル名.phpと入力するだけで拡張子をPHPに変更するこができます。
そして、ページの元々コピーしたHTMLがあった場所に以下のタグを入力します。
<?php include("ファイル名.php"); ?> |
ファイル名のところは自分がつけたファイル名に変更して下さい。
そして、上のタグを入れたページの拡張子を、今までHTMもしくはHTMLだったものをPHPに変更しアップします。
すると、インターネット上ではHTMやHTMLで作られているのと同様のソースでページが表示されます。
ちなみにサイト内をおそらくほとんどの方はフォルダ分けをしていると思いますが、下層のページで上層のPHPファイルを読み込む場合は、ファイル名の前に ../ を入れます。
1階層上から読み込む場合なら、
<?php include("../ファイル名.php"); ?> |
2階層上から読み込む場合なら、
<?php include("../../ファイル名.php"); ?> |
この ../を使用し、共通部分は全てトップのPHPファイル(トップページのあるフォルダのPHPファイル)から読み込ませるようにします。
ちなみに ../はPHPファイルに限らずCSS、GIF、JPGなど、どんなファイルでも同じことです。
以上に紹介した方法でとりあえず一通り完了です。
上の項目で紹介している方法だけだと、インクルードしているページの拡張子がPHPに変わってしまいます。
サイトを今から立ち上げるところならば、拡張子が変わってしまっても全く問題はないのですが、既にサイトを公開してある程度年月が経っていたりすると、検索エンジンからくる人が、拡張子が変わってしまったためサイトにたどり着けなくなったり、Googleのページランクが0になってしまったりという問題が生じてしまいます。
そうならないよう、ファイル形式をHTM、HTMLから変えずに、PHPを作動させるという方法もあります。
そんな時使用するのが、【.htaccess】(ドットエイチティーアクセス)です。
【.htaccess】を使用する手順ですが、まずメモ帳などに、以下のように記載します。
AddType application/x-httpd-php .htm .html |
記載したら、それを前に拡張子をPHPに変更した方法と同じやり方で、『.htaccess』に変更します。
ここで注意してほしいのが、『○○.htaccess』とか、『.htaccess.txt』などになってはいけません。
ファイル名自体を『.htaccess』にして下さい。
このファイルをサーバーにアップすることにより、今までのHTM、HTMLファイルでもPHPが作動するようになります。
余談ですが、以前検索エンジンがPHPファイルからのリンクをよまなかったということがありましたので、PHPファイルだと今でも相互リンクをする際などに、少し敬遠されてしまう傾向があります。
今ではそんなことはないのですが、一応特別何か理由があるわけでないのなら、念のため.htaccessを使用し、PHP形式ではなくHTM、HTML形式を変換しておいたほうがいいでしょう。
※この方法は僕が使用しているロリポップのサーバーでのやり方です。他のサーバーではやり方が違うこともありますのでご注意下さい!