htmlファイル上にphpを埋め込んで動かす方法
2017.11.07
htmlファイルを触る方なら思い当たると思いますが、
ページ数が増えてくると、ヘッダーメニューの文字を一文字直すだけでも、全ページを修正し、ファイルもすべてアップロードしなければならず、結構な手間が発生してしまいます。
かといってWordpressのようなCMSを導入して管理するほどでもない場合や、
とにかくスピード感を持ってサイト公開だけはしておきたい場合もあるかと思います。
そんなときにちょうどいい方法が、これ。
通常のhtmlファイルに、phpコードを埋め込んで、
ヘッダーやフッターなど、各ページ共通のパーツを一カ所で管理する方法です。
目次
やりたいこと
サイト内の各ページで共通で使っているヘッダーやフッターを、一元管理したい。
そのために、ヘッダーとフッターは別ファイルとして保存し、各htmlファイルから呼び出す形にしたい。
上記を実現するにはphpを動かす必要があるが、全てのページをphpにするとリンクの貼り直しや、負荷の問題であまりよろしくない。
じゃあ今のhtmlファイルのままで、phpが動くようにできないの?
できるよ!
そんなお話です。
htmlファイル上でphpが動くようにするには
そもそもの話、一般的なレンタルサーバーであれば、.htmlファイルの拡張子を.phpに変更するだけで、phpが動くようになります。
ただ、リンクURLの変更などが発生してしまうので、あまり現実的ではないかもしれません。
そんなときは、サーバー上のファイルに一行書き込むだけで、
.htmlのファイル上でphpが動くようになるのです。
そのファイルは「.htaccess」です。
ざっくり言うと、サーバー上のディレクトリやファイルに関する設定ができるファイルです。
.htaccessファイルの準備
もしFTP接続しても、サーバー上に.htaccessというファイルが見当たらない場合は、新規に作成します。
まずメモ帳などのテキストエディタを開き、「.htaccess」と名前をつけて保存します。
そのファイルに以下のコードを書き込みましょう。
AddType application/x-httpd-php .php .html
基本的にはこれでOK。
サイトのトップページ(index.htmlなど)があるディレクトリにアップします。
※なお、macの場合、.htaccessはFinderでは不可視ファイル(非表示扱い)になっています。FTPソフトからは見えると思いますので、FTPソフトからアップしてください。
特定のhtmlファイルだけでphpが動くようにする方法
基本的には上記の手順でOKなのですが、
ファイルがおおいサイトの場合、全部のhtmlファイルをphpとして扱うため、処理が重くなる場合があります。
そんなときは特定のhtmlファイルだけをphpに対応させることができます。
その場合は.htaccessに下記のコードを書き込みましょう。
<Files "hogehoge.html"> AddType application/x-httpd-php .php .html </Files>
「hogehoge.html」はphpを動かしたいhtmlファイルの名前を書きます。
これでこのファイルのみphpが動くようになります。
複数のhtmlファイルでphpが動くようにする方法
また、こんな方法もあります。
<FilesMatch "^hogehoge.*\.html$"> AddType application/x-httpd-php .php .html </FilesMatch>
この場合は、「hogehoge○○.html」のようなファイル全てに適用されます。
例えば、
hogehoge01.html、hogehogetest.html、hogehoge9999.html
これら全てでphpが動くようになる、ということです。