htmlでphpを使えるようにする
2020-03-09
以前、とある案件で必要になったことがあるので、健忘録として記載しておきます。
CMSは使わずに、相当数のページをコーディングをする際に、ヘッダーやフッターなどの共通部分を各ファイルに記載していくと、修正が入った場合、全ページに対応をしなければいけない。という事になるかと思います。
そこで、共通部分は、まとめておくという手段をとるかと思います。
もちろん、Dreamweaverなどで、ディレクトリでまとめて置換したり、テンプレート化しておく方法もありますが、共通部分のみ、別ファイルにして、読み込む方法もあります。
読み込む方法としては、Java Scriptで処理する方法もありますが、今回は、include関数の記述による読み込みです。
index.phpなどのphpファイルであれば、
1 2 3 |
<?php include 'include.php'; ?> |
1 2 3 |
<?php include_once 'include.php'; ?> |
1 2 3 |
<?php require 'include.php'; ?> |
などの記述方法があり、各違いについては、また別の機会に、解説できればと思いまが、
上記の記述で、phpファイルであれば、基本的には、そのまま使用できるでしょう。
ただし、サーバーの仕様などで、制限している場合もあるかもしれません。
これをhtmlファイルで同じようにして読み込みたいとした場合、当然ですが、読み込みはできません。
そこで、同じようにhtmlファイルでもinclude関数を記述して別ファイルを読み込みたいという場合、下記のような記述を.htaccssに追記する必要があります。
1 |
AddType application/x-httpd-php .html |
または、
1 |
AddType application/x-httpd-php5 .html |
と.htaccessに追記する事で、htmlファイルでもphpが使用可能になるとのことです。
ただし、エックスサーバーでは、記述が異なります。
エックスサーバーの場合 (2016年8月16日以降の契約でsv2001シリーズ)
エックスサーバーでは、下記のように記述してください。
1 |
AddHandler fcgid-script .html |
または、
1 |
AddHandler fcgid-script .php .phps .html |
と記述する事で、可能です。
契約が 2016年8月16日以前(〜sv2001)の場合は、また異なるとの事ですので、サーバー会社に問い合わせした方が良いと思います。