.htaccess の利用

 

目次

  1. .htaccess の利用
  2. .htaccess の記述例

.htaccess の記述例

.htaccess の代表的な記述例をご紹介します。

.htaccess の記述例につきまして動作保証やサポートは行っておりませんので、お客様の責任のもとご利用環境に合わせて編集のうえご使用ください。
.htaccess の記述方法はインターネットや書籍にてお調べください。

■ファイル一覧の表示を拒否する

ホームページを設置したアドレスにファイル名を指定せずにアクセスすると、そのディレクトリにある index.html などのインデックスファイルが表示されますが、index.html などのインデックスファイルを設置していない場合、そのディレクトリ内にあるファイルの一覧を表示してしまいます。
.htaccess を設置することで403エラーを返し、ファイル一覧の表示を拒否することで、セキュリティを高めることができます。

    記述例
    Options -Indexes
    • ファイル一覧を表示したい場合は、「Options +Indexes」と記述します。

 

■重要なデータファイルへのブラウザからのアクセスを拒否する

アドレスを公開していなくても、ブラウザのアドレス欄に特定のファイルのアドレスを直接入力すると、閲覧できてしまいます。そのファイルにパスワードや顧客データなどの重要なデータが記述されていたら情報が漏えいしてしまいます。
.htaccess を設置することでデータファイルへのブラウザからのアクセスを拒否することができます。

    記述例
    データファイルによくある'.dat''.log''.csv'といった拡張子のついたファイルへの
    ブラウザからのアクセスを拒否する場合
    <Files ~ "\.(dat|log|csv)$">
    deny from all
    </Files>

 

■特定のドメインからのみアクセスを許可する

特定のドメインを他のドメイン下のディレクトリに設定する場合、特定のドメインのページを他のドメインのURLで表示できてしまいます。
例えば、home/アカウント名/public_html に独自ドメインのアドレス(http://www.example.com/)を設定しても、KAGOYA Internet Routing のセレクトドメインのアドレス(http://アカウント名.kir.jp/など)で表示することが可能です。
.htaccess を設置することで、他のドメインからのアクセスを拒否することができます。

    記述例
    http://www.example.com/ からのみアクセスを許可する場合
    SetEnvIf Host "^www\.example\.com$" hos_ok
    order deny,allow
    deny from all
    allow from env=hos_ok

 

■他のドメインのアドレスにリダイレクトする

特定のドメインを他のドメイン下のディレクトリに設定する場合、特定のドメインのページを他のドメインのURLで表示できてしまいます。
例えば、home/アカウント名/public_html に独自ドメインのアドレス(http://www.example.com/)を設定しても、KAGOYA Internet Routing のセレクトドメインのアドレス(http://アカウント名.kir.jp/など)で表示することが可能です。
.htaccess を設置することで、他のドメインのアドレスにリダイレクトすることができます。

    記述例
    http://abc.kir.jp/ へのアクセスを http://www.example.com/ にリダイレクトする場合
    RewriteEngine on
    RewriteCond %{HTTP_HOST} abc\.kir\.jp [NC]
    RewriteRule .* http://www.example.com%{REQUEST_URI} [L,R=301]

 

■特定のディレクトリへの http でのアクセスを https に切り替える

SSLを設置しても、通常の http でのアクセスでは、SSLは有効になりません。https でアクセスする必要があります。
例えば、SSLを有効にしたいアドレス(https://www.example.com/shop/)に対して、SSLが有効にならないアドレス(http://www.example.com/shop/)でも表示できてしまいます。
.htaccess をSSLを有効にしたいディレクトリに設置することで、SSLが有効にならないアドレスでアクセスがあった場合に、SSLが有効なアドレスでのアクセスに切り替えることができます。

    記述例
    http://www.example.com/ へのアクセスを https://www.example.com/ にリダイレクトする場合
    RewriteEngine on
    RewriteCond %{HTTPS} off
    RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R,L]

 

■特定のIPアドレスからのアクセスを拒否する

特定のIPアドレスから過度なアクセスのため、お客様サーバーの転送量やアクセス数が浪費されてしまい、最悪の場合はお客様サーバーが帯域調整や同時接続数制限の対象となり、お客様サイトの表示が遅くなるなどの影響が生じます。
.htaccess を設置することで、特定のIPアドレスからのアクセスを拒否することができます。

    記述例
    123.456.789.123 からのアクセスを拒否する場合
    order allow,deny
    allow from all
    deny from 123.456.789.123
    • 例示した 123.456.789.123 は、実在しないIPアドレスです。IPアドレスは、「.(ドット)」で区切られた 0 ~ 255 の数字4組で表記されます。

 

■特定のIPアドレスからのアクセスのみ許可する

Webサーバーでグループウェアなどを利用して情報共有をする場合、インターネットに接続できる環境であればどこからでもアクセスできてしまうため、情報漏えいのリスクが伴います。
.htaccess を設置することで、特定のIPアドレスからのアクセスのみ許可することができます。

    記述例
    123.456.789.123 からのアクセスを許可する場合
    order deny,allow
    deny from all
    allow from 123.456.789.123
    • 例示した 123.456.789.123 は、実在しないIPアドレスです。IPアドレスは、「.(ドット)」で区切られた 0 ~ 255 の数字4組で表記されます。

 

■画像ファイルへの直リンクを拒否する

お客様サイトの画像が、直リンクなどで他人のサイトで引用されると、他人のサイトによってお客様サーバーの転送量やアクセス数が浪費されてしまい、最悪の場合はお客様サーバーが帯域調整や同時接続数制限の対象となり、お客様サイトの表示が遅くなるなどの影響が生じます。
.htaccessを画像ファイルのディレクトリに設置することで、お客様サイト以外からのリンクを拒否することができます。

    記述例
    お客様サイト http://www.example.com/ からのリンクのみ許可する場合
    SetEnvIf Referer "^http://www\.example\.com" ref_ok
    order deny,allow
    deny from all
    allow from env=ref_ok

 

■トップページとなるファイル名を設定する

URL にファイル名までを含めずに、http://www.example.com/ のようにディレクトリへ直接アクセスしたときに表示するファイル名は、サーバー側であらかじめ設定されています。
.htaccess を設置することで、あらかじめ設定されたファイル名以外の名前のファイルを表示するように設定を変更することができます。

    記述例
    お客様サイト http://www.example.com/ にアクセスしたときに、http://www.example.com/top.html を表示させる場合
    DirectoryIndex top.html

 

■拡張子が .shtml だけでなく、.html でも SSI を使用する

SSIをご利用いただく場合、そのHTML文書の拡張子は、.shtml とする必要があります。
.htaccess を設置することで、拡張子が .html でも SSI を使用することができます。

  • この設定をした場合、すべての .html ファイルに対して SSI 処理を行うことなり、サーバーに負荷がかかる原因となりますので、おすすめはいたしません。

    記述例
    拡張子が .html でも SSI を使用する場合
    AddHandler server-parsed .html

目次

  1. .htaccess の利用
  2. .htaccess の記述例