ディレクトリ内に.htaccessという名前のファイルを置くことによって、そのディレクトリ内のファイル・ディレクトリに対するさまざまな設定を、ユーザー自身が行なうことが出来ます。
ここでは、.htaccessファイルの設定についてごく簡単に説明します。
なお、設定次第によってはセキュリティホールを生むことにもつながりますので、.htaccessの内容には十分な注意を払って下さい。
ASCIIモードで転送して下さい。
■ .htaccessという名前のファイルが作れない時は |
Windowsで「.」(ドット)で始まるファイル名のファイルを作ろうとすると「ファイル名を入力して下さい」と表示され、作ることが出来ません。
これは以下のどちらかの方法で解決出来ます。
(1)適当な名前でファイルを作っておいて、FTPでサーバーにアップロードした後に.htaccessに改名する
(2)適当な名前でファイルを作り、DOSプロンプト(またはコマンドプロンプト)のrenコマンドで.htaccessに改名する
■ アップロードした.htaccessファイルが、FTPソフトのファイル一覧に表示されない場合 |
一部のFTPソフトでは、初期設定では「.」(ドット)で始まる名前のファイル・フォルダを表示しない設定になっていることがあります。この場合「隠しファイルを表示する」(ソフトにより表現は異なります)設定に変更して下さい。
この設定を行なってもなお表示されない場合(「NextFTP」などをお使いの場合など)には、ファイルリスト取得コマンドを「NLST -la」に変更する設定を行なって下さい。
.htaccessファイルを設置したディレクトリと、そのディレクトリの中に含まれる子や孫ディレクトリすべてに設定が及びます。
■ 設定例:拡張子.phpのファイルがPHP5で動作するようにする |
(この設定は西院ネットワークス独自の設定方法です)
拡張子が.phpのファイルは、西院ネットワークスのサーバーではデフォルトではPHP4 モジュールモードで動作するようになっています。これをPHP5 CGIモードで動作させたい場合、以下のように.htaccessファイルで設定して下さい。
AddHandler application/x-httpd-php5 .php
.htaccessファイルの転送が終わったら、<?php phpinfo(); ?> とだけ書かれた適当な.phpファイル(例えばtest.php)を作ってアップロードし、ブラウザからアクセスして確認してみましょう。PHPのバージョン等が表示されるはずです。
※ 参考:
PHPについて
■ 設定例:ユーザー認証をかける(Basic認証) |
ユーザー名とパスワードを用いたアクセス制限をかけることが出来ます。
・まず、.htaccessファイルに次のように記述します。
(この例では、アカウント名をhinakoとしています)
AuthUserFile /usr/home/hinako/(適切なディレクトリ名)/.htpasswd
AuthName "Private Room!!"
AuthType Basic
require valid-user
1行目は、ユーザー名とパスワードを記述したファイルのある場所です。
これは、サーバー上での絶対パスで記述する必要があります。
例えば、ユーザーのホームディレクトリ(URL:
http://(ご利用サーバー名)/~(アカウント名)/)は、サーバー上での絶対パスで表わすと
/usr/home/(アカウント名)/public_html/ となります。
2行目は、ユーザー名・パスワードの入力パネルに表示される文字列です。お好きな文字列を設定してください。
3行目はBasic認証を掛けることを、4行目は別途パスワードファイルに記載されたユーザーがアクセス出来ることを示しています。
・次に、先程.htaccessファイルの1行目で指定したパスワードファイルに、例えば次のように記します。
yotsuba:IsvmAtTQA5wXc
marie:vNi8kH.8PgJVs
(ユーザー名):(暗号化されたパスワード)の順に記します。何行でも書くことができます。
パスワードは暗号化されている必要があります。暗号化のためのCGIを用意しましたのでご利用ください。
なお、パスワードを納めたファイルは、必ず「.ht」で始まるファイル名にして下さい。西院ネットー話クスのサーバーでは、「.ht」で始まるファイル名のファイルにHTTPでアクセス出来ないようデフォルトで設定されています(この設定も.htaccessファイルで変更可能です)。
■ 設定例:ディレクトリ内のファイル一覧を見せないようにする |
saiin.netサーバーでは、index.html(またはindex.htm、index.shtml、index.shtm、index.cgi、index.pl、index.php、index.phtml)というファイル名のファイルが存在しない場合、ディレクトリインデックス(ディレクトリ内のファイル一覧)が表示されます。
ファイル一覧を見せたくない場合には適当なindex.htmlを置くか、または次のように.htaccessファイルで設定して下さい。
Options -Indexes
ディレクトリにアクセスすると、「403 Forbidden」と表示されるはずです。
■ 設定例:404 Not Foundなどのメッセージを自分で作成したものにする |
ErrorDocument 403 /~(アカウント名)/error403.html
ErrorDocument 404 /~(アカウント名)/error404.html
エラーには403、404、500などがありますが、全てを設定する必要はありません。
ここで記述するパスは、http://○○○.saiin.net以下のパスです(「ユーザー認証をかける」の項目で必要な絶対パス指定とは異なります)。
ファイルをダウンロードしてもらおうと思ったのに、ブラウザによっては何故か変な文字列が表示されたりする場合には、そのファイルの拡張子に対応するMIMEタイプを設定することで解決可能です。
AddType application/octet-stream iso
この例では、.isoという拡張子に対してMIMEタイプを設定しています。
なお、saiin.netサーバーで設定済のMIMEタイプ一覧は次の通りです。
設定済MIMEタイプ一覧