*
*
*
◆.htaccessの使用法◆
*
.htaccess を使用すると、サーバーの動きをディレクトリ単位で規定できます。
*
*
*

 .htaccessとは
     
.htaccessファイルは、サーバーの動きを決定する重要なファイルのひとつです。
.ディレクトリ(フォルダ)配下単位でいろいろな設定ができます。

.htaccessは、初期状態では存在しません。下記に基づいて、ユーザーが作成する必要があります。

 .htaccessファイルの作成方法
     
.htaccessファイルはテキストファイルですが、先頭に『.』がついていますので、
Winodowsでは作成できません。(拡張子のみでファイル未指定とみなされるからです。)

そこで以下のような方法をとります。

 1) htaccess.txt などとしてパソコンで作成する。
 2) FTPでサーバーにファイル転送する。
 3) サーバー上のファイル名をFTPで .htaccess に変更する。

※作成したファイルは必ずアスキーモードで転送してください。
 自動判断や、バイナリモードで転送すると、正常なファイルができない場合があります。

※.htaccessのように、「.」(ドット)のつくファイルはUNIXの隠しファイルです。
 FTPソフトの通常の設定では不可視ファイルとなることがあります。 
 確認できない、消せないということもおき得ますので、ご利用の際は注意して下さい。

※BlueQuartzサーバーでは、セキュリティ向上のため、.htaccessと同等の設定がサーバー側でされています。
 お客さまが、自由な.htaccessの設定をしたい場合、この機能を解除します。
 サポート窓口までご連絡ください。
 なお、.htaccessを自由に設定できるようにすると、セキュリティ上、弱くなりますことをご了解下さい。


※ ..htaccess 設定の詳細に関しては、 サポート窓口ではお受けできない場合があります。
*
*
*
 .htaccess 設定の一例

ここでは、利用価値の高いもののみ掲載します。
矛盾しない設定は、組み合わせることができます。


1) 全アクセス拒否

order deny,allow
deny from all

内部にcgiプログラムしか置かないときなどは、通常のWebアクセスをすべて拒否しても問題ありません。もちろんcgiプログラムは実行されます。


2) 特定IPからの接続拒否

order allow,deny
allow from all
deny from  XXX.XXX.XXX.XXX

XXX.XXX.XXX.XXXは特定IPもしくはドメインです。ネットマスクも使用できます。
例1 XXX.XXX.XXX.XXX/24
例2 XXX.XXX.XXX.XXX/255.255.255.0


3) Index.html以外をデフォルトファイルにする

DirectoryIndex index.cgi index.shtml

ブラウザからファイル名を指定しなくても表示されるのは、通常、index.html もしくは index.htm しか使用することができません。
これを設定すれば、index.cgi もしくは ndex.shtml でも使用します。


4) ファイル一覧の表示禁止など

index.htmlがない場合、「http://www.ご使用のドメイン/ご使用のディレクトリ/」とすると、そのディレクトリの中にあるファイルの一覧が表示されます。
この表示をとめることができます。(実行したり、参照したりすることはできます)

Options -Indexes

この一行があると、index.htmlがない場合は、「403 Forbidden」 のエラーが表示され、ディレクトリの内部が表示されることはありません。

IndexIgnore ファイル名 ファイル名 ・・・

この一行に記述されたファイル名は、ファイル一覧の時に表示されません。
ファイル名に * を使用すれば、すべてのファイルが表示されなくなりますので、一見ファイルが何もないように見えます。

IndexOptions オプション オプション・・・

オプションに何を指定するかによって変わります。
FancyIndexing アイコン表示で見やすく示します。
IconsAreLinks ファイル名を箇条書きに表示します。
SuppressLastModified 最終更新日を表示させないようにします。
SuppressSize ファイルサイズ表示させないようにします。


5) 表示言語の設定

AddLanguage jp .jp AddLanguage en .en
LanguagePriority jp en
Options +MultiViews

この設定をすれば、日本人用ファイルとして「index.html.jp」、英語圏用ファイルとして 「index.html.en」を用意すれば、自動的にそれぞれの国のページを表示します。
(国情報は、毎回表示時にブラウザから取得します。)


6) リダイレクト

Redirect permanent ディレクトリ名  http://XXX.XXX/

これで指定ディレクトリへのアクセスは、http://XXX.XXX/ に転送されます。
※慎重に設定してください。転送の無限ループを作るとサーバーがダウンする可能性があります。


7) 独自のエラー表示

ErrorDocument 401 http://XXX.XXX.XXX/
ErrorDocument 403 /err_message/403.html
ErrorDocument 404 /err_message/404.html
ErrorDocument 500 /err_message/500.html

それぞれのエラーが発生したときに表示させる画面を独自に適宜できます。
これを応用すれば、エラーが発生したときに特定のcgi プログラムを実行させたり、リダイレクト(転送)させたりすることも可能です。(上記401のエラー処理の例)
※慎重に設定してください。エラーファイルが存在しない(きちんと表示できない)場合無限ループに陥り、場合によってはシステムダウンします。


8) html ファイルでSSIを可能にする


Options +Includes
AddHandler server-parsed html

通常は、SSIを実行できるファイルの拡張子はshtmlでないといけません。
この設定をすれば、拡張子htmlでも実行可能になります。
※便利ですが、サーバーのパフォーマンスが低下しますのでお勧めしません。
   使用する際は、専用ディレクトリの中で、必要最小限のhtmlファイルを動かしてください。

9) shtml ファイルでSSIを可能にする

Options +Includes
AddType text/html .shtml
AddOutputFilter INCLUDES .shtml

デフォルト拡張子がshtmlのファイルでSSIが使用できない場合、これを定義します。
※上記8)と違い、サバーのパフォーマンスに与える影響は最小になります。


10) HTMLソースでPHPを実行可能する

AddType application/x-httpd-php .htm .html

拡張子htmlの通常のソースの中で、直接PHPを記述できます。

次のような特徴があります。
 ・ダイナミックな画面の出力や入力エラーチェックなどを簡単に行える。
 ・PHPスクリプトを外部に作成して呼び出す必要がない。
 ・比較的高いセキュリティセキュリティが実現できる。

欠点としてPHPエンジンがすべてのhtmlを解釈するので、パフォーマンスが落ちる点が上げられます。
 (サーバーに負荷がかかることもあります。)

実際に使用する際は、専用ディレクトリを作成し、この中で必要最小限のhtmlファイルを動かしてください。

11) pngファイルを表示できるようにする

AddType image/png png

同様にすれば、他の形式の画像ファイルも表示できます。
ただし、使用するブラウザが、その画像に対応している必要がありまさす。
また、bmp画像を表示可能な設定にするのは、お勧めできません。


12) hdmlファイルを表示できるようにする

AddType text/x-hdml;charset=Shift_JIS hdml


13) ベーシック認証

以下のような画面が出てきて、正しいユーザー名とパスワードを入力しないと、ディレクトリ内に入れません。



これは一般的でありながら、比較的セキュリティの高い方法です。
詳しくは、こちらアクセス制限の方法のぺージをご覧ください。


**
/ 閉じる / レンタルサーバー、ドメイン取得ならクイックサーバー /