.htaccess アクセス制御
設定ファイル .htaccess により、サーバーの設定を変更できます。
.htaccess の設置方法
FTPソフトでの設置
ファイル名を「.htaccess」としてテキストファイルを作成し、設定します。
その際、ファイル名が「.htaccess.txt」になってしまう場合は、FTPソフト側のファイル名変更機能で「.htaccess」に変更してください。
ファイル管理ツール「Filemin」での設置
テキストファイル新規作成 から、ファイル名「.htaccess」を作成、編集できます。
詳細はマニュアル「Filemin」をご参照ください。
ご注意事項
アクセス毎に .htaccess を読み込みます。ウェブサイト表示遅延やエラーの原因になりますので、不必要な設定を避け、適所への設置をお願い致します。
- FTPソフトで .htaccess が表示されない場合は、FAQ「FTPで .htaccess が見えません」をご参照ください。
- セキュリティの都合により、設定項目「Options」に「ALL」や「FollowSymLinks」を設定できません。
- .htaccess ファイルのパーミッションは 604 または 404 に設定してください。
- .htaccess の最終行に改行を入れてください。
500エラーになってしまったら?
- 設置された .htaccess を削除し、500エラーが解消する事をお確かめください。
上記のご注意事項もお確かめください。
- 改行コードが LF になっていることをお確かめください。
FTPソフトでアップロードされる際に「アスキーモード」を選択していただく事で、改行コードが LF に変換されます。
もしくは、テキストエディタの多くは、ファイル保存時の改行コードに LF(UNIX形式)を選択できます。
- 文字コードが UTF-8 の場合は、BOM(Byte Order Mark)の有無をお確かめください。BOMが含まれている場合はエラーになります。
テキストエディタの多くは、ファイル保存時に「BOMを付けずに保存(UTF-8N)」を選択できます。
- エラーログ(error_log)をお確かめください。
- FAQ「アクセスログを見ることはできますか?」
- 複数設定されている場合は、原因の可能性がある箇所の先頭に # を入れる事で、その行をコメントアウト(無効化)できます。
- エラーが解消しない場合は お問い合わせ窓口 よりご相談ください。
設定例
設定の一例をご紹介します。コピーしてお使いください。
エラーページの変更
各エラーページのデザインを変更できます。
401 Authorization Required | パスワード認証エラー |
---|---|
403 Forbidden | 閲覧禁止(アクセス拒否) |
404 Not Found | ページが存在しない |
500 Internal Server Error | CGIのエラー発生、.htaccess の設定ミス |
503 Service Temporarily Unavailable | アクセス集中による閲覧制限 |
.htaccess 設定例
- 通常のページと同じように、エラーページを作成してアップロードします。
エラーページのファイルサイズが 1KB未満 の場合は、正常に機能しない事があります。
- 例では、404エラーの発生時に 404.html が表示されるように設定します。
.htaccess ファイルに、次のように記述します。
public_html の直下に 404.html をアップロードされた場合
ErrorDocument 404 /404.html
public_html に error ディレクトリを作成された場合
ErrorDocument 404 /error/404.html
複数のエラーを設定される場合
ErrorDocument 403 /error/403.html
ErrorDocument 404 /error/404.html
- .htaccess ファイルをアップロードします。
- 存在しないURLにアクセスし、作成したエラーページが表示されれば設定完了です。
他の設定例
エラーメッセージのみを表示 → 表示例
ErrorDocument 404 "404 File not found"
エラー発生時に別ページへ転送
ErrorDocument 404 http://www.just-size.net/
パスワード認証
ユーザー名、パスワードによる認証(アクセス制限、ベーシック認証)を設定できます。
- アクセス制限サンプルページ
(ユーザー名:just パスワード:size)
.htaccess 設定例
.htpasswd 設定例
- ユーザー名:パスワードを保存するファイルを、ファイル名 .htpasswd として作成します。
-
.htpasswd に「ユーザー名:暗号化したパスワード」の形式で記述します。
例)
just:27Gvf79tQOv/M
パスワードを暗号化する必要があります。次のフォームで暗号化できます。
ユーザーを増やす場合は、1行毎に追記します。
just:27Gvf79tQOv/M
nene:20rsLpqcZPWpI
manaka:40pIRneBM57/g -
.htaccess ファイルに、次のように記述します。
AuthUserFile /home/アカウント名/.htpasswd
AuthGroupFile /dev/null
AuthName "パスワード制限ページ"
AuthType Basic
require valid-userAuthUserFile パスワードの設定ファイル .htpasswd へのフルパスを設定します。 AuthGroupFile 使用しないため /dev/null と設定します。 AuthName 認証ページの名前を設定します。 AuthType ベーシック認証を使用するため Basic と設定します。 require 認証できたユーザーにアクセスを許可するため valid-user と設定します。 - public_html ディレクトリの外に .htpasswd をアップロードします。
- アクセスを制限するディレクトリに .htaccess をアップロードします。
- 制限したディレクトリにアクセスし、認証画面が表示され、正常に認証できれば完了です。
IP/ホストのアクセス拒否
IPアドレス、ホストアドレスのアクセス制限を設定できます。
.htaccess 設定例
例)ホストアドレス 12345.tokyo.example.ne.jp を拒否
deny from 12345.tokyo.example.ne.jp
例)ホストアドレス .example.ne.jp を拒否
deny from .example.ne.jp
例)IPアドレス 123.321.155.0 を拒否
deny from 123.321.155.0
複数設定する場合は deny from を1行毎に追記します。
order allow,deny
allow from all
deny from .tokyo.example.ne.jp
deny from 123.321.155.0
動作確認の際は、ご自身のアドレス「ec2-44-220-251-236.compute-1.amazonaws.com」のアクセス拒否をお試しください。
order allow,deny
allow from all
deny from ec2-44-220-251-236.compute-1.amazonaws.com
アクセス拒否を設定するディレクトリ内に .htaccess をアップロードします。
ご自身のアクセス拒否を設定された場合は、403エラー(Forbidden)が表示される事をお確かめください。
他の設定例
全てのアクセスを拒否し、個別にアクセス許可を設定する
アクセス許可をご自身に限定する場合や、社内からのアクセスに限定するといった事ができます。
order deny,allow
deny from all
allow from アクセスを許可するアドレス
検索エンジンの巡回ロボットからのアクセスを拒否する
検索エンジンによる巡回を拒否する事で、検索結果に登録されないようにする事ができます。詳細は、下記のTIPSをご参照ください。
- TIPS「検索エンジンに登録されないようにする方法」
特定ファイルのアクセス制限
ブログの管理画面など、特定のファイルにアクセス制限を設定する事で、セキュリティを高める事ができます。
特定のアクセス元のみにファイルを配布するといった場合にも有効です。
.htaccess 設定例
制限を掛けたいディレクトリ(例では WordPress 設置ディレクトリ)に .htaccess をアップロードします。
ご注意事項
- お客様のIP・ホストアドレスは現在「ec2-44-220-251-236.compute-1.amazonaws.com」ですが、このアドレスは変わる事があります。
例えば「123abc.tokyo.example.ne.jp」の場合は、変更される部分を除いて設定できます。
Allow from .tokyo.example.ne.jp
- ブログツール側の設定により、既に .htaccess が設置されている事があります。この場合は、設置されている .htaccess をパソコン側にダウンロードされた上で、既存の設定に追記してください。
複数のファイルを対象に設定する場合
「 ~ () 」内にマッチしたファイルが対象になります。「.」の前に「\」を入れ、「|」で区切ります。
ログファイルアクセス制限の解除
サーバー側で設定されている「.log」「.dat」ファイルへのアクセス制限は、次の設定で解除できます。
.htaccess 設定例
制限を解除したいディレクトリに .htaccess をアップロードします。
- ファイルのパーミッションを適切な値に設定してください。
ファイルへの直リンク制限
画像などのファイルに、外部から直接リンクされるのを防ぐ設定です。
.htaccess 設定例
「SetEnvIf Referer」で、アクセスを許可するURL(ご自身のサイトURL)を ref_ok に登録します。
- 「.」の前に「\」を入れてください。
- 複数登録する場合は「SetEnvIf Referer」を1行毎に追記します。
「Deny from all
」で全アクセスを拒否した上で、「Allow from env=ref_ok
」で「ref_ok」からのアクセスのみ許可します。
直リンク制限を掛けたいファイルがあるディレクトリに .htaccess をアップロードします。
リンク元のアクセス制限
特定のリンクからのアクセスを拒否します。
.htaccess 設定例
「SetEnvIf Referer」で、アクセスを拒否するURLを ref_ng に登録します。
- 「.」の前に「\」を入れてください。
- 複数登録する場合は「SetEnvIf Referer」を1行毎に追記します。
「Deny from env=ref_ng
」で、「ref_ng」からのアクセスを拒否します。
アクセス制限を掛けたいディレクトリに .htaccess をアップロードします。
「www」有無の統一
エコノミープランをご利用の場合、独自ドメインのホスト名「www」が設定されています。
「www」あり、なしを統一(正規化)できます。
動作例
「wwwなし」から「wwwあり」に転送
- https://just-size.net/→ https://www.just-size.net/
※「wwwあり」、「wwwなし」のどちらかを無効化する事もできます。ご希望の場合はお問い合わせ窓口よりご依頼ください。
.htaccess 設定例 「wwwあり」に統一
.htaccess 設定例 「wwwなし」に統一
- 上記のように .htaccess に記述します。
.example\.jp を、ご自身の独自ドメインに置き換えてください。- 「RewriteCond」には、「.」の前に「\」が必要です。
- public_html ディレクトリの直下に .htaccess をアップロードします。
- 「www」の有無で、URLが転送されている事をご確認ください。
「https」に転送
オプションサービス「独自SSL」又は「共有SSL」をご利用の際に、従来のURLへのアクセス http:// を、SSL通信 https:// に転送できます。
動作例
「http://」から「https://」に転送
- http://www.just-size.net/→ https://www.just-size.net/
.htaccess 設定例
- 上記のように .htaccess に記述し、SSL化するディレクトリに .htaccess をアップロードします。
- SSL化されたURL https:// に転送されている事をご確認ください。
関連ページ
- マニュアル「常時SSLについて」