拙著「個人投資家は低位株で儲けなさい」が発売されました。
株価が安い「低位株」に投資する方法を解説しています。
自由国民社刊で、定価1,512円(消費税込み)です。
拡張子が.htmlのページでPHPを動作させる
一般的なレンタルサーバーでは、PHPを動作させるには、そのページの拡張子を「.php」にします。
ただ、既存のHTMLのページ(拡張子が.htmlのページ)をPHP化する場合、拡張子を変えるとURLが変わってしまうことになります。
そこで、拡張子が.htmlのままで、PHPが動作するようにしたい場合がでてきます。
その方法をいくつか紹介します。
.htaccessファイルに「AddType」を記述する
1つ目の方法は、.htaccessファイルに「AddType」を記述する方法です。
基本的な書き方
モジュール版PHPが使われているサーバーなら、htmlファイルがあるディレクトリに、以下のような内容の.htaccessファイルを設置すると、拡張子が.htmlのファイルでもPHPが動作することが多いです。
AddType application/x-httpd-php .html
特定のファイルのみ対象にする
すべてのHTMLファイルをPHPとして動作させると、PHPを含まない純粋なHTMLのページも、PHPで処理されます。
そのため、サーバーの負荷が無駄に上がるという問題が生じます。
そこで、実際にPHPのコードが含まれているファイルだけを、PHP化することも考えられます。
ディレクトリ内の特定のHTMLファイルだけでPHPを動作させたい場合は、上記の行を「<Files "ファイル名">」と「</Files>」の行で囲みます。
例えば、「hoge.html」というファイルだけでPHPが動作するようにしたい場合は、.htaccessファイルを以下のように書きます。
<Files "hoge.html"> AddType application/x-httpd-php .html </Files>
また、「<Files "・・・">~</Files>」の代わりに「<FilesMatch "・・・">~</FilesMatch>」を使って、特定するファイルを正規表現で指定することもできます。
例えば、.htaccessに以下のように書くと、ファイル名が「index○.html」(〇は0文字以上の任意の文字列)のようなページだけが、PHPとして動作するようになります。
<FilesMatch "^index.*\.html$"> AddType application/x-httpd-php .html </FilesMatch>
mod_rewriteでPHPにリダイレクトする
サーバーによっては、.htaccessにAddTypeを記述することが禁止されている場合があります。
この場合は、上記の方法は使えません。
ただ、.htaccessにmod_rewriteの記述を書くことができるサーバーなら、mod_rewriteを使って、.htmlから.phpにリダイレクトする方法があります。
基本的な手順
まず、拡張子が.htmlのページにアクセスされたときに、ファイル名が同じで拡張子が.phpのページにリダイレクトするように、.htaccessに記述します。
htmlファイルがあるディレクトリに、以下の内容の.htaccessファイルを設置します。
RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-d RewriteRule (.*)\.html$ $1.php [L]
次に、そのディレクトリの中で、拡張子が.htmlのすべてのファイルで、拡張子を.phpに変更します。
特定のファイルのみ対象にする
そのディレクトリ内の特定のHTMLファイルだけでPHPを動作させたい場合は、.htaccessを以下のように書きます。
RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule (.*)\.html$ $1.php [L]
そして、そのディレクトリの中で、PHPとして動作させたいHTMLファイルだけで、拡張子を.phpに変更します。
拡張子が.htmlのままのファイルは、通常のHTMLとして動作します(PHPの処理は行われません)。
サーバー固有の方法を使う
サーバーによっては、上記以外の方法で、HTMLのファイルをPHPとして動作させることができる場合があります。
例えば、lolipopだと、ディレクトリに以下のような.htaccessファイルを設置すると、そのディレクトリのHTMLのページがPHPとして動作するそうです。
AddHandler php5.2-script html