●.htaccessファイルについて

 WebサーバーでCGI/SSIスクリプトを実行するためには.htaccessというファイルを用意しなければならないことがあります(サーバーによって異なる)。もし必要であれば、スクリプトが格納されているディレクトリ、もしくはそれより上の階層に作成しておきましょう。


[home]--+--.htaccess                ……たとえばこことか
        +--sample1.cgi
        +--[cgi_bin]--+--.htaccess  ……こことか
                      +--sample2.cgi

 次は.htaccessの一例です。詳しくはサーバー管理者に尋ねてください。どうしてかというとサーバーの設定によって、.htaccessの記述内容も変わってくることがあるからです。下手に入れるとかえって動かなくなることもありますので。


#
#CGI/SSIを使うための.htaccess例 by p4room
#
#注:.htaccessはサーバーによって記述が異なります
#     詳しくは管理者に尋ねること

#■URLにファイル名を省略して指定したとき対象とするファイル(左から優先される)
DirectoryIndex index.html index.shtml index.htm index.cgi

#■CGI/SSIの実行を許可する拡張子:2行とも必要
#CGI用の拡張子
AddHandler cgi-script .cgi
#SSI用の拡張子
AddHandler server-parsed .shtml .html .htm

#■標準でhtmlやhtm以外をHTML文書として使う指定:以下のどれかを選択する
#文字コード未指定
#AddType text/html .shtml
#文字コードをシフトJISに指定
AddType "text/html;charset=Shift_JIS" .shtml
#文字コードをEUCに指定
#AddType "text/html;charset=EUC-JP" .shtml
#文字コードをJISに指定
#AddType "text/html;charset=ISO-2022-JP" .shtml

#■CGIの実行を許可するための記述:以下のどちらかを選択する
#Options ExecCGI Includes
#シンボリックリンクを有効にする
Options FollowSymLinks ExecCGI Includes

#■フォルダ内を見えなくするための指定
Options -indexes
#次のようにすると見えるようになる
#Options indexes

 すごく長く見えますが、先頭に#のある行はコメントアウト行なので、それは削ってかまいません。上記からコメント行を削ると次のようになりますね。


DirectoryIndex index.html index.shtml index.htm index.cgi
AddHandler cgi-script .cgi
AddHandler server-parsed .shtml
AddType "text/html;charset=Shift_JIS" .shtml
Options FollowSymLinks ExecCGI Includes
Options -indexes

 .htaccessには、CGI/SSIスクリプトを実行するための設定のほかにも、さまざまな設定を記述することができます。たとえば、次のような行を入れておくと、.lzhや.zipファイルを表示したときに、Webブラウザは、ダウンロード用のダイアログを表示してくれるようになります。


#■ダウンロードしたいファイル
AddType application/octet-stream .zip
AddType application/octet-stream .lzh

 その他、.htaccessを使うと、特定のホスト(プロバイダ)からのアクセスを禁止するようなアクセス制限をすることができたり、あるいはパスワードによる個人認証を行うことができます。これについては、「CGI&SSIを使うとホームページ作成にこんなに差が出る」の方でもご覧になってください。ほんだば、チャオ。

.htaccessファイル1:コメント入りの.htaccess例
.htaccessファイル2:コメント無しの.htaccess例
注:ファイル名は.htaccessに変更してね。