.htaccessでPHPの設定

PHPの設定に.htaccessを利用しましょう。

PHPの設定は、本来はphp.iniで行うべきですが、 共用サーバーなどでは利用者がphp.iniを編集できないことが多いです。 .htaccessを利用すると、 ユーザーレベルである程度はPHPの設定を行うことができます。

※注意※ サーバーの設定によっては、 このページで紹介している方法が利用できないことが有ります。 利用しているサーバーのマニュアル等でご確認ください。

ブラウザが読み込むデフォルトのファイルをPHPファイルにする。

ウェブを閲覧する場合、ファイル名を省略すると、 通常は index.html を指定したことになります。 例えば https://php-web.net/ にアクセスすれば、 https://php-web.net/index.html が表示されます。

省略時に読み込むファイルは変更することができます。 .htaccessに以下のように記述してください。

DirectoryIndex index.php index.html

上の設定の場合、 index.phpindex.html の順に探して行き、最初に見つかったファイルを表示します。 ファイル名は3つ以上にすることもできます。

外部変数の制限

PHPでは、バージョン4.1.0より、外部変数(入力フォームやcookieから来る変数)は $_POST['変数名']の形式で受け取る仕様となりました。 この形がセキュリティ上好ましいからです。

しかしながら、古いスクリプトが動作するように、 サーバーの設定で古い形式を許可している場合があります。 そのような場合、.htaccessに以下のように記述することで、 古い形式を許可しないように設定できます。

php_flag register_globals off 

エラーメッセージをブラウザに表示しないようにする。

PHPでは、プログラムにミスがあった場合、 エラーメッセージが表示される仕様になっています。 エラーが発生した場所(ミスの場所はエラーの発生場所からかなり前のこともあります) と理由が表示されるため修正がしやすい、というメリットがあります。

学習には都合が良いのですが、実用スクリプトの場合、 エラーメッセージが表示されると、不正アクセスなどの危険が高まります。 このため、公開サーバーではエラーメッセージが表示されないようにしておきましょう。 (サーバーによっては表示されない設定が標準のこともあります。)

エラーメッセージをブラウザに表示させないようにするには、 .htaccessに以下のように記述します。

php_flag  display_errors Off

拡張子がhtmlのファイルでPHPを動作させる

PHPスクリプトは、通常は拡張子が .php になっています。 .htaccessに以下のように記述すると、 拡張子が .html のファイルでPHPスクリプトを実行することができます。 (ただし全ての.htmlファイルをPHPとして扱うため、 サーバーに余計な負荷がかかる可能性があります。)

AddType application/x-httpd-php .html
Copyright (C) 2003-2018. PHP で WEB 作成 All rights reserved.