さくらのレンタルサーバ
(スタンダード以上必須)で、.htmlの拡張子のページをphpとして動かす手順です。
サイドバーや各パーツをモジュール化して、phpでインクルードさせるなどはよく使う手段ですよね。
さくらのレンタルサーバーでは、そのままではphpインクルードが使えないので困っている方が多いようです。(私の知人も含め...)
最も簡単なのは、各ページの拡張子を .html から .php に変えて、php.iniにある記述をすれば済むのですが、
.htmlでサイトを作りたい方も多いと思いますので、.htmlの拡張子のページをphpとして動かす手順を紹介します。
![]()
FTPソフトなどでさくらのサーバーに接続し、
/usr/local/php-5.2.8/bin/php-cgi
をローカルにコピーします。
ローカルにコピーしたphp-cgiを、ブログ(ホームページ)のトップディレクトリに転送し、php.cgiにリネームします。
リネームしたphp.cgiの属性を、755 又は 705 に変更し、実行権限を付けます。
.htaccess に下記のコードを入力し、ブログ(又はホームページ)のトップディレクトリに転送します。
下記コードは、.html の拡張子をphpとして動かす場合
AddHandler myphp-script .html
Action myphp-script /php.cgi
各ページの宣言文を下記のコードに変更します
下記はutf-8の場合。shift-jisなどの場合は置き換えてください
<?php echo '<?xml version="1.0" encoding="utf-8"?>' . "\n"; ?>
URLでのインクルード(他ドメインからのインクルード)をする場合は、下記のようなコードをHTML内に記述すればURLでのインクルードが可能になります。
赤文字のURLをご自分が使用するURLに書き換えてください
<?php
$openfile = file_get_contents('http://example.com/example.php');//
echo $openfile;//
?>
HTMLの記述例(文字コードutf-8、XHTMLの場合)
<?php echo '<?xml version="1.0" encoding="utf-8"?>' . "\n"; ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
<head>
<meta http-equiv="content-type" content="text/html;charset=UTF-8" />
<title>インクルードテスト</title>
</head>
<body>
<?php
$openfile = file_get_contents('http://example.com/example.php');//
echo $openfile;//
?>
</body>
</html>
※urlでのインクルードを使用するには、php.ini に、下記を追記してURLインクルードを可能にして置いてください。
allow_url_fopen = On
allow_url_include = On
