覚えておくと便利な5つの.htaccessテクニック

5月 11, 2009 · Posted in Apache, linux, PHP 
Post to Google Buzz
このエントリーをはてなブックマークに追加

PHPの設定は「php.ini」で行うことができるのですが、レンタルサーバーや共有サーバーとして利用している場合、「php.ini」を変更することはできません。
そんな時は、.htaccessを利用して、特定のディレクトリ以下のみPHPの設定を変更してあげることで解決できます。

しかし、.htaccessでは全ての設定を変更できる訳ではありません。
phpManualで「PHP_INI_PERDIR」または「PHP_INI_ALL」と指定されている設定のみ変更が可能となっています。
http://php.benscom.com/manual/ja/ini.list.php

今回は、PHPを扱う際に覚えておくと便利な5つのテクニックをご紹介します。

  • ディレクトリ一覧を表示させない
  • URLにディレクトリを指定された場合、index.htmlがないとブラウザ上にディレクトリ一覧が表示されてしまいます。
    この現象は、.htaccessに以下の記述を行うことで解決することができます。
    Options -Indexes

  • エラー出力の設定
  • php.iniの設定により、phpのエラーを画面上に表示したり、非表示にすることができます。
    .htaccessに以下の記述をし、それぞれOn/Offと書き換えることでエラー出力の設定を行うことができます。
    開発中はOn、公開後はOffとしておくのが良いと思います。
    php_value error_reporting 2047
    php_flag display_errors On

  • セッションの設定
  • PHPでセッションを扱う場合、いくつかPHPの設定を確認する必要があります。
    変更する場合は以下の記述を行ってください。
    # SESSIONにcookieを使用するための設定( On, Off )
    php_flag session.use_cookies On
     
    # セッション保持期間を設定(0の場合はブラウザ終了時に破棄)
    php_value session.cookie_lifetime 0
     
    # HTMLのFORMに自動的にhiddenを追加する設定( On, Off )
    php_flag session.use_trans_sid Off
     
    # セッション情報の存続期間を設定
    php_value session.gc_maxlifetime 3600
     
    # セッションデータの保存場所
    php_value session.save_path '(保存先の絶対パス)'

  • 拡張子がhtmlのファイルでPHPを実行させる
  • phpを実行させるには通常拡張子はphpでなければいけませんが、.htaccessに以下の記述をすることで、htmlファイルでもphpとして実行することができます。
    ただし、全てのhtmlをphpと解釈してしまうため、サーバーに余計な負荷がかかる場合があります。
    AddType application/x-httpd-php .html

  • XHTMLでのエラー回避方法
  • HTMLでphpを実行するように設定している場合、 $lt;?xml ~ ?> の宣言を記述すると、エラーがおきてしまう場合があります。
    これはPHPのショートタグと勘違いをしているために起きているエラーで、.htaccessに以下の記述を行うことで、回避することができます。
    short_open_tag = Off

Comments

Leave a Reply