アクセス制限を行ったり、初期状態では設定されていないMIMEメディアタイプを追加する時に使用する.htaccessについてのご案内です。
.htaccessファイル
.htaccess は、WWWサーバーの動作をカスタマイズしたい時に使用する設定ファイルです。
.htaccess の実体は決められた書式に従って書かれたテキストファイルです。
ファイルはテキストエディタ(Windowsのメモ帳やMac OSのSimpleTextなど)で作成することが出来ます。
書式に従って設定する内容を記述し、作成したテキストファイルに「.htaccess」というファイル名を付けてサーバーに転送すると
.htaccess が置かれているディレクトリと、そのサブディレクトリ内にあるすべてのファイルに対して記述した設定が適用されます。
「.htaccess」ファイルの名前に拡張子などは付けないで下さい。「.htaccess.txt」や「******.htaccess」のような名前では正しく動作しません。
例えば、 /home/abc ディレクトリに .htaccess ファイルを置いた場合、
設定が適用されるディレクトリは橙色の部分です。
黒色のディレクトリには設定が適用されません。
/
|
+--- home
| |
| +--- abc
| |
| +--- def
| | |
| | +--- ghi
| |
| +--- jkl
|
+--- cgi-bin
| |
| +--- abc
| |
| +--- def
|
+--- log
|
+--- Maildir
|
+--- new
|
+--- cur
|
+--- tmp
Apacheのコア機能として用意されているディレクティブ、およびモジュールによって追加されているディレクティブのうち、
AllowOverrideディレクティブで許可されているディレクティブを .htaccess の中に記述してご利用頂く事が出来ます。
Apacheについて詳しいお客様は、以下の情報とApacheの解説書・インターネットサイト等を参考にしてご利用下さい。
WebARENA SuiteのApacheには、以下のモジュールが組み込まれております。
mod_access mod_actions mod_alias mod_asis mod_auth mod_autoindex mod_cgi mod_dir mod_env mod_imap mod_include mod_log_config mod_mime mod_negotiation mod_setenvif mod_status mod_userdir
また、使用が許可(AllowOverrideディレクティブで許可)されている項目は以下の3項目です。
AuthConfig Limit Fileinfo
記述方法がご不明な場合は、このページに .htaccess の具体的な使用例を記載しておりますのでそちらを参考に設定を行って下さい。
Windowsをご利用の場合の注意点
お使いのコンピュータのOSがWindowsの場合、デフォルトの設定では拡張子が見えない様になっています。
このため、テキストファイルを作成した際に「.txt」という拡張子が付けられてしまい
ファイル名が「htaccess.txt」などになってしまう場合があります。
.htaccess はファイル名が正確に「.htaccess」になっていなければ動作しませんので、
拡張子が自動的に付いてしまう場合は以下のどちらかの方法で対処して下さい。
- ファイル名を「.htaccess」に変更してからサーバーに転送する
- 転送を行ってからFTPソフトでサーバー上に置いたファイルのファイル名を「.htaccess」に変更する
パスワード認証によるアクセス制限
正しいIDとパスワードを入力しないとページの内容をブラウズ出来ない様にする方法です。
特定の人だけにページを見せたい場合に有効です。
認証をかけたページにアクセスすると下記の様なダイアログボックスが表示されます。(ブラウザによって若干表示が異なります。)
正しいIDとパスワードを入力すればページが表示されますが、間違っている場合再度入力画面が表示されます。
3回続けて間違えるとエラーを表示してアクセスを拒否します。
Windows Internet Explorer 5.5 SP1使用時に表示されるダイアログボックス
設定手順は以下の通りです。
- パスワード認証によるアクセス制限の場合、 .htaccess とは別にパスワードファイルを作成する必要があります。
管理ツールの ADMIN MANAGER にログインして、ホームページ - アクセス制限用パスワードの作成 を選択して下さい。
ADMIN MANAGER のログイン方法がご不明な場合は
オンラインマニュアル - [管理ツール] ADMIN MANAGERのページをご覧下さい。
- 画面の説明に従い、認証に使うIDとパスワードを入力して「作成」ボタンをクリックして下さい。
- IDと暗号化されたパスワードの内容が表示されます。
例えば webarena というIDを指定した場合、以下の様な内容が作成されます。
webarena:oULio70lDgMtg
この内容をコピーして、テキストエディタの編集画面にペーストして下さい。
2.〜3.の作業を繰り返し、複数のIDとパスワードを登録する事も出来ます。
その場合、テキストエディタの編集画面で1行につき1組のIDとパスワードを記述して下さい。
例えば、 webarena1 ・ webarena2 ・ webarena3 の3つのIDを登録する場合は以下の様に記述します。
webarena1:whCIhSEbh9V4I
webarena2:OXYlUEnR7jrik
webarena3:8eOtEa3nUn5xM
- 作成したテキストファイルに名前を付け、保存して下さい。
パスワードファイルのファイル名に特に制限はありませんが、
ここでは .htpasswd というファイル名を付けることにします。
ここまででパスワードファイルの作成は完了です。
続けて、 .htaccess の作成を行います。
- テキストエディタで新規にファイルを作成し、以下の内容を記述して下さい。
AuthUserFile ~/(IPアドレス)/(設置ディレクトリ)/.htpasswd
AuthName (メッセージ)
AuthType Basic
require user (ID)
(IPアドレス)の部分にはお客様のWebARENA SuiteサーバーのIPアドレスを記述して下さい。
(設置ディレクトリ)の部分にはパスワードファイルを置くディレクトリを記述して下さい。
通常、アクセス制限をかけるディレクトリと同じディレクトリを指定すれば問題ありません。
(メッセージ)の部分にはIDとパスワードを入力するダイアログボックスに表示させるメッセージを記述して下さい。
メッセージにスペースが含まれない場合はそのままメッセージを記述しても問題ありませんが、
スペースを含むメッセージを記述する場合は文字列を「 " 」(ダブルクォーテーション)で括って下さい。
スペースを含むメッセージを「 " 」で括らずに記述すると、エラーになってしまい正常に動作しません。
(ID)の行にはパスワードファイルを作成する際に指定したIDを記述して下さい。
例えば webarena というIDを指定した場合は以下の様に記述します。
require user webarena
パスワードファイルに複数のIDを記述した場合は以下の様に半角スペースで区切ってIDを記述して下さい。
webarena1 ・ webarena2 ・ webarena3 の3つのIDを記述した場合は以下の様に記述します。
require user webarena1 webarena2 webarena3
また、パスワードファイルに書かれているすべてのIDをまとめて指定する場合は以下の様に記述します。
require valid-user
例えば、IPアドレスが 123.123.123.123 で、 webarena というIDを記述した
.htpasswd というファイル名のパスワードファイルを /home/member ディレクトリに置く場合は以下の様に記述します。
AuthUserFile ~/123.123.123.123/home/member/.htpasswd
AuthName "Input ID and Password."
AuthType Basic
require user webarena
- 作成したテキストファイルに「.htaccess」という名前を付け、保存して下さい。
以上で .htaccess の作成は完了です。
- サーバーにFTP接続して .htaccess と .htpasswd を設置ディレクトリに転送して下さい。
(上記の例の場合は /home/member ディレクトリに転送します。)
転送した .htaccess と「.htpasswd」のパーミッションはどちらも 604(rw----r--) に設定して下さい。
パーミッションの設定方法がご不明な場合は
オンラインマニュアル - [ファイル転送] パーミッションのページをご覧下さい。
- ブラウザで対象ディレクトリ内のコンテンツ(上記の例の場合 http://(ドメイン名またはIPアドレス)/member/ )を開いて下さい。
正しく設定が行えていればダイアログボックスが表示されますので、
手順の2.で指定したIDとパスワードを入力してページが表示される事を確認して下さい。
アクセス元のサイトによるアクセス制限
アクセス元のサイト(コンピュータやネットワーク)によってアクセスを制限する方法です。
ページを特定のサイトだけに見せたい、または特定のサイトだけに見せたくない場合に有効です。
host1.webarena.ne.jp(IPアドレス 123.123.123.123)からのアクセスを許可し、
host2.infosphere.co.jp(IPアドレス 234.234.234.234)からのアクセスを拒否する場合のイメージ
具体的には、以下のどちらかの条件でアクセスを制限します。
- 「ある特定のサイトだけを拒否し、その他のサイトは全て許可する。」
- 「ある特定のサイトだけを許可し、その他のサイトは全て拒否する。」
設定手順は以下の通りです。
-
テキストエディタで新規にファイルを作成し、アクセス制限の内容を記述して下さい。
「ある特定のサイトだけを拒否し、その他のサイトは全て許可する。」という条件にする場合は以下の内容を記述します。
order allow,deny
allow from all
deny from (拒否するサイト)
「ある特定のサイトだけを許可し、その他のサイトは全て拒否する。」という条件にする場合は以下の様に記述します。
order deny,allow
deny from all
allow from (許可するサイト)
(拒否するサイト)および(許可するサイト)の部分は対象のサイトを記述します。
対象サイトのドメイン名またはIPアドレスを記述して下さい。
例えば(拒否するサイト)にドメイン名が host2.infosphere.co.jp のサイトを指定する場合は以下の様に記述します。
deny from host2.infosphere.co.jp
(許可するサイト)にIPアドレスが 123.123.123.123 のサイトを指定する場合は以下の様に記述します。
allow from 123.123.123.123
特定の1つのドメイン名やIPアドレスではなく、一定の範囲を指定することも出来ます。
例えば(拒否するサイト)にIPアドレスの最初が 234.234 となっている全てのサイト
( 234.234.234.234 や 234.234.111.222 など)を指定する場合は以下の様に記述します。
deny from 234.234
(許可するサイト)にドメイン名の最後が .webarena.ne.jp となっている全てのサイト
( abc.webarena.ne.jp や 123.def.webarena.ne.jp など)を指定する場合は以下の様に記述します。
allow from .webarena.ne.jp
(許可するサイト)や(拒否するサイト)は複数指定することも出来ます。
例えば IPアドレスが 123.123.123.123 のサイトと ドメイン名の最後が .webarena.ne.jp となっている全てのサイトからのアクセスだけを拒否し、
その他のサイトは全て許可する場合は以下の内容の .htaccess を作成して下さい。
order allow,deny
allow from all
deny from 123.123.123.123
deny from .webarena.ne.jp
- 作成したテキストファイルに「.htaccess」という名前を付け、保存して下さい。
以上で .htaccess の作成は完了です。
- サーバーにFTP接続して .htaccess をアクセス制限をかけたいディレクトリに転送して下さい。
転送した .htaccess のパーミッションは 604(rw----r--) に設定して下さい。
パーミッションの設定方法がご不明な場合は
オンラインマニュアル - [ファイル転送] パーミッションのページをご覧下さい。
- アクセスを制限したサイトからブラウザで .htaccess を設置したディレクトリ内のコンテンツを開いて下さい。
正しく設定が行えていれば Forbidden というエラーが表示されます。
MIMEメディアタイプの追加
初期状態ではホームページのデータとして認識されないタイプのファイルを認識させる方法です。
ホームページ上でデータファイルを使用するためには、そのデータファイルについてのMIMEメディアタイプを
サーバーに設定しておく必要があります。HTML文書やGIF形式の画像ファイルなど、一般的によくホームページで使用される
データファイルのMIMEメディアタイプはあらかじめサーバーに設定されていますが、
MIMEメディアタイプが設定されていないファイルをホームページ上でご利用頂く場合は、
.htaccess にMIMEメディアタイプの追加設定を記述してサーバーに転送して下さい。
MIMEメディアタイプを追加する場合は、 .htaccess を以下の様に記述して下さい。
AddType (MIMEメディアタイプ) (拡張子)
(MIMEメディアタイプ)の部分には追加するファイルのMIMEメディアタイプを記述して下さい。
(拡張子)の部分には追加するファイルの拡張子を記述して下さい。
例えば、Macromedia FreeHandというアプリケーションソフトで作成した、
拡張子が「fh4」になっているデータのMIMEメディアタイプを追加する場合は .htaccess を以下の様に記述します。
AddType image/x-freehand fh4
この .htaccess を/home/freehandに転送すると、/home/freehandとその中のディレクトリにある
拡張子が「fh4」のファイルがFreeHandのデータとして認識されます。
なお、初期状態でサーバーに設定されているMIMEメディアタイプの一覧は オンラインマニュアル
- [ホームページ] .htaccess - MIMEメディアタイプのページをご覧下さい。
SSI使用可能拡張子の追加
通常はSSIを使用する場合そのHTMLファイルの拡張子を「.shtml」にしなければなりませんが、
「.html」や「.htm」の拡張子でもSSIを使用したい場合は、.htaccess を以下の形で記述します。
AddHandler server-parsed .html .htm
この .htaccess を/homeに転送すると、/home 以下のディレクトリにある、
拡張子が「.html」および「.htm」のHTMLファイルでSSIがご利用頂ける様になります。
転送した .htaccess のパーミッションは必ず604(rw----r--)に設定して下さい。
/cgi-binディレクトリへのHTML・画像ファイル等の設置
/cgi-binディレクトリにHTMLファイルや画像ファイルなどを置き、そのファイルをブラウザから直接参照出来る様にする方法です。
WebARENA Suiteのサーバーは、初期状態ではCGIの実行ファイルとHTMLファイル・画像ファイルなどその他のデータファイルを
それぞれ別々のディレクトリに置いて頂く様になっていますが、
以下の書式に従って作成した .htaccess を/cgi-binディレクトリに設置すると
/cgi-binディレクトリ内にHTMLファイルや画像ファイルを置き、そのファイルをブラウザから表示させる事が出来る様になります。
AddHandler default-handler (拡張子)
例えば、拡張子が「.html」および「.htm」のHTMLファイルと、拡張子が「.gif」および「.jpg」の画像ファイルを/cgi-binディレクトリ内に
置く場合の .htaccess の内容は以下の様になります。
AddHandler default-handler .html .htm .gif .jpg
指定した拡張子のファイルはCGIを通してではなく直接参照する事が出来る様になりますので、
内容をそのまま公開したくないファイルがある場合は十分ご注意頂いた上でご利用下さい。
弊社では上記の内容の .htaccess をご利用になった事により万一お客様に何らかの損害が生じた場合でも一切の責任を負いかねますので、
あらかじめご了承下さい。セキュリティを重視される場合は、上記の記述はご利用にならない事をお勧め致します。
また、上記の .htaccess を使用しても/cgi-binディレクトリ内に置いたHTMLファイルの中でSSIを使用する事は出来ません。
SSIを記述したHTMLファイルは/homeディレクトリ内に置いてご利用下さい。
アドレスの転送
あるファイル(URI)にアクセスした時に、自動的に他のアドレス(URL)にアクセスさせる方法です。
http://(ドメイン名)/ というアドレスをトップページとしてご利用になる場合、
トップページのファイル名は /home ディレクトリに index.html・index.htm・index.shtml しか使用出来ませんので、
通常はHDMLファイルやCGIをトップページにする事が出来ません。
しかし、以下の内容の .htaccess を/homeディレクトリに設置すると
http://(ドメイン名)/ にアクセスが行われた時に自動的に他のアドレスにアクセスが行われますので、
HDMLファイルやCGIなど、任意のファイルをトップページとして表示させる事が出来ます。
Redirect アクセスされるファイル(URI) 転送先のアドレス(URL)
例えば、ドメイン名が webarena.ne.jp の場合に、トップページとして /cgi-bin ディレクトリ内の「index.cgi」を使用する時の
.htaccess の内容は以下の様になります。
Redirect /index.html http://webarena.ne.jp/cgi-bin/index.cgi
また、/home ディレクトリ内の「index.hdml」を使用する場合の .htaccess の内容は以下の様になります。
Redirect /index.html http://webarena.ne.jp/index.hdml
|