Htaccess
提供: GeeklogJpWiki
[2]インストール > Geeklogをインストールしよう > サーバ環境を設定 > .htaccessの設定
目次 |
.htaccessの設定
.htaccessの設定は慎重に行ってください。サイトがみれなくなるなど、重大な事故を引き起こすことがあります。.htaccessは、標準パッケージで提供していません。サイトの環境に合わせて、個々に設定を行ってください。サーバによってはこの機能が使えません。また、ファイル名は必ずしも.htaccessではありません。
以下は、.htaccessの一例です。
# 日本語環境設定 php_value default_charset UTF-8 php_value mbstring.language Japanese php_value mbstring.internal_encoding UTF-8 php_flag mbstring.encoding_translation OFF php_value mbstring.http_input auto php_value mbstring.http_output pass php_flag magic_quotes_runtime Off php_flag magic_quotes_gpc Off #ファイルがみつからない場合のページを指定する。 ErrorDocument 404 /404.php # サイトの安全のため、register_globals Offを設定 併せてtrack_vars Onにする。 php_flag register_globals Off php_flag track_vars On # ディレクトリインデックスを指定する。 DirectoryIndex index.php index.html # エラー表示OFF(表示したい場合は On に切り替えてください) php_flag display_errors Off # エラーログファイル指定 php_value error_log "/(サーバーのパス)/logs/php_error.log"
詳しくは、設置条件を参照。
エラー表示を隠す
Geeklogを運用していると、時に想定外の入力データやソフトウェアのバグのせいで、画面上にエラーメッセージが表示され、重要なファイルのパスが表示されてしまうことがあります。
Geeklogの設置が完了し、エラーの表示が不要になったら、サイトの公開前に、エラー表示を非表示にしてください。クラッカーに手がかりを与えないためにも、エラーを表示させないようにしましょう。
エラーログを記録する方法
エラーの内容は、logファイルのエラーファイルに書き出すよう設定します。エラーファイルはあらかじめ書き込みできるよう空ファイルを作成し、パーミッションを(666)などに変更しておきます。
php_flag display_errors off php_value error_log "/virtual/*****/private/*****/logs/php_error.log"
エラーを表示する
なお,逆に,設置時には,php_flag display_errors on を設定して,エラーを表示して問題を解決してください。
画面が真っ白になる場合があるとしたら,php_flag display_errors offの設定になっているためです。
あわせて管理者ログインを行い,コンフィギュレーションで,管理者に詳しいエラー内容を表示するモードに変更すると便利です。
PHPのエラーを表示する方法
以下のいずれかで表示設定してください。
- php.ini内でdisplay_errors = onを設定します。
- .htaccessで php_flag display_errors on を記述します。
- siteconfig.phpの先頭に、ini_set( 'display_errors', 'on' ); を記述します。
一番望ましいのはphp.iniでの修正ですが、できない場合は.htaccessで設定します。これでも設定できない場合は、siteconfig.phpで以下のようにini_set()関数を使って設定することで可能にする方法も試してください。
Geeklogのエラーを表示する方法
さらに、ログインしていない状態で、本来ログインしたRoot管理者にのみ表示させていた詳しいエラーを表示させる設定は、siteconfig.phpに、
$_CONF['rootdebug'] = true;
を記述して、表示させます。
いずれも、サイト公開前に、off、false に戻しておく必要があります。