.htaccessファイル/mod_rewriteの利用について

弊社レンタルサーバサービスのWeb機能では、Webサーバ上に「.htaccess」ファイルを設置することで

  • IPアドレス/ホスト名によるアクセス制限(Limit)
  • ユーザ名・パスワードによるBasic認証(AuthConfig)
  • URLの書き換え(mod_rewrite)
  • PHPの設定変更(php_flag/php_value)

といった機能を操作することができます。以下では、それぞれの機能についてご紹介いたします。

IPアドレス/ホスト名によるアクセス制限(Limit)

「.htaccess」ファイルに「Order ディレクティブ」「Allow ディレクティブ」「Deny ディレクティブ」を記述することで、そのディレクトリに対するアクセス制限を操作することができます。

Order XXXXX AllowとDenyの評価順序を指定します。
Allow from XXXXX 指定したクライアント(IPアドレス/ホスト名)からのアクセス(閲覧)を許可します
Deny from XXXXX 指定したクライアント(IPアドレス/ホスト名)からのアクセス(閲覧)を拒否します

各ディレクティブの詳しい内容、記述方法についてはApacheのマニュアルをご覧下さい。

ユーザ名・パスワードによるBasic認証(AuthConfig)

「.htaccess」ファイルに「AuthType ディレクティブ」「AuthName ディレクティブ」「Require ディレクティブ」「AuthUserFile ディレクティブ」「AuthGroupFile ディレクティブ」を記述することで、そのディレクトリにユーザ名・パスワードによる認証機能を付加することができます。

AuthType Basic 認証方法を指定します。弊社レンタルサーバサービスではBasic認証をご利用いただけます。
AuthName “XXXXX” 認証領域の名称を指定します。
AuthUserFile XXXXX 認証に使用する認証ユーザ・パスワードが格納されているファイルを指定します。※セキュリティの観点から、コントロールパネルで生成したファイルを指定することをお勧めいたします。
Require XXXX AuthUserFileで指定されたファイルに登録されているユーザから認証を許可するユーザを指定します。※「全てのユーザ」を指定するには「All」と記述してください。

各ディレクティブの詳しい内容、記述方法についてはApacheのマニュアルをご覧下さい。

URLの書き換え(mod_rewrite)

「.htaccess」ファイルに「mod_rewrite」の設定(「RewriteRule ディレクティブ」「RewriteCond ディレクティブ」「RewriteBase ディレクティブ」など)を記述することで、URL書き換えやリダイレクトなどを付加することができます。

この機能により、ブログソフト(WordPress、Movable Type)やCMSソフト(XOOPSやJoomla)で動的なURLから、、SEO的に有利となる静的なURLへリンクURLを変更することができます。多くのブログソフトやCMSソフトには、動的なURLを静的なURLへ変更するための「mod_rewrite」設定を生成する機能が実装されています。URL書き換えを希望される場合は、各ソフトの機能で「.htacess」ファイルを生成することをお勧めいたします。

また、手動で「mod_rewrite」設定を作成する際、各ディレクティブの内容、記述方法についてはApacheのマニュアルをご覧下さい。

弊社レンタルサーバサービスのWeb機能では、「mod_rewrite」によるプロキシ機能はセキュリティの観点からご利用いただけませんのでご注意下さい。

PHPの設定変更(php_flag/php_value)

「.htaccess」ファイルに「php_flag」「php_value」を記述することで、そのディレクトリ以下に対するPHPの設定を変更することができます。

php_flag XXXX On(Off) PHPの設定「XXXX」の値をOn(またはOff)に変更する
php_value XXXX OOOO PHPの設定「XXXX」の値をOOOOに変更する

「php_flag」「php_value」によるPHP設定変更の詳細については、別途PHPのマニュアルをご覧下さい。

「php_flag」「php_value」によるPHPの設定変更では、「mbstring.encoding_translation」の変更が有効になりませんのでご注意下さい。(phpinfo関数などの表示上では変更されていますが実際のHTTPクエリには適用されません)

コントロールパネルより生成・設置された「.htaccess」ファイルの編集について

コントロールパネルより生成・設置された「.htaccess」ファイルに対して、お客様で独自に内容を編集することも可能です。お客様で編集を行う際は、下記の点についてご注意下さい。

  • お客様で編集をする前に、コントロールパネルへログインし、対象のアクセス制限設定を再度更新してください。
  • 「.htaccess」ファイルを編集する際は、「お客様専用の編集エリア(下図を参照)」のみ変更を行ってください。

「.htaccess」ファイルの編集領域

上記のご注意点を守らなかった場合、設定した内容どおりに動作しない可能性がありますので予めご了承ください。

コントロールパネル以外から生成・設置された「.htaccess」ファイルについて

ブログソフトやCMSソフトの中には、SEOへの対策として動的なURLを静的なURLへ変換するための「URLの書き換え(mod_rewrite)」設定を「.htaccess」ファイルとして出力する機能を持ったものがあります。

ブログソフトやCMSソフトから生成・設置された「.htaccess」ファイルがあるところへ、コントロールパネルよりアクセス制限の設定を行った場合、コントロールパネル側で、すでに設置されている「.htaccess」ファイルの内容を読み込み、コントロールパネルからのアクセス制限設定と結合(マージ)して「.htaccess」ファイルを出力します。(※1)

(※1)すでに設置されている「.htaccess」ファイルの更新日時が「2009/1/27 14:00」以前jの場合は結合(マージ)されない可能性がありますので、念のため「.htaccess」を再作成して更新日時を「2009/1/27 14:00」以降としてから実施してください。
  • コントロールパネル