特定ファイルのみPHPを無効にする方法
拡張子.htmlのままPHPを有効にしている
このブログでは拡張子 .html のままPHPプログラムが実行できるようにしています。
拡張子を .html にしているのは、過去記事のパーマリンクを変更したくなかったためです。ブログを始めた当時はPHPを使っていませんでした。
.htmlファイルでPHPを実行できるようにする方法は簡単で、.htaccessファイルやApacheの.confファイルに以下の1行を書くだけです。
AddType application/x-httpd-php .html
PHPを使うと全ページで共通した部分(ヘッダー、サイドバー、フッターなど)をパーツ化できるので、MTの再構築が軽くなります。また、ページ内に色々とプログラムを組み込むことができるので便利です。
一方で、PHPで出力するとサーバー側の負荷が高くなってしまいます。同時アクセス数が急増すると、メモリを食い尽くし、レスポンスが遅くなり、接続数が上限を超え、データベースを利用していればデータベースにも接続できなくなる・・・といった問題が生じます。
特定ファイルのみPHPを無効にするには
ブログの場合、特定の記事のみが急激にアクセスが増えることがあります。そのため、そのページのみPHPで実行するのをやめることができれば、かなり負荷を軽減できるのではないかと予想できます。
じゃあどうすればいいかというと、こういう場合はおそらく「ForceType ディレクティブ」を使います。
例えば .htaccess やApacheの.confファイルに次のように記述すると、.htmlでPHPが有効になっていても、sample.htmlだけはPHPが無効になります。
<Files sample.html> ForceType text/html </Files>
ForceTypeの指定は、普通に拡張子.phpでPHPを実行している場合にも有効です。
また、Directoryディレクティブと組み合わせると、特定ディレクトリにあるファイルにのみ適用させることもできます。ただしDirectoryディレクティブを使う場合は、Apacheのconfファイルに記述しなければなりません。
なお、当然この設定を有効にするとそのファイルではPHPを実行できなくなるので、ファイルの内容を、HTMLで出力された内容に書き換えておく必要があります。
コメントを残す