【WebServer】「.htaccess」ファイルの書き方
【WebServer】
「.htaccess」ファイルの書き方
「.htaccess」ファイルとは
.htaccess(ドットエイチティーアクセス)とは、Apacheを用いたWebサーバにおいて、ディレクトリ単位で設置及び設定を行える設定ファイルである。
「.htaccess」ファイルのできること
・IDとパスワードによる制限
・IPアドレスとリモートホストによる制限
・ファイル一覧表示を隠す
・フォルダ単位でのリダイレクト
・wwwあり、wwwなしなどのURLの統一
・Basic認証によるページへのアクセス制限
サンプルコード
Order deny,allow
deny from all
allow from xxx.xxx.xxx.xxx
AuthUserfile /home/xxx/www/.htpasswd
AuthName "認証名を記述。「Please enter your ID and password」と言ったテキストを入力しても良い。"
AuthType Basic
require valid-user
DirectoryIndex index.html index.htm index.shtml index.php index.cgi
<Files ~ "^.(htpasswd|htaccess)$">
deny from all
</Files>
<Files ~ "\.(dat|log|csv)$">
deny from all
</Files>
ErrorDocument 401 http://xxxxxx.com/
ErrorDocument 403 http://xxxxxx.com/
ErrorDocument 404 http://xxxxxx.com/
ErrorDocument 500 http://xxxxxx.com/
コメント
「.htaccess」ファイルでも、コメントアウトを使用することができる。
コメントアウトの印は、「#」。
先頭に「#」を記入すると、プログラムコードとしてはみなされなくなる。
改行コード
改行コードとは、テキストファイルで文字を折り返す(改行)するときの制御文字。
改行コードは、「キャリッジリターン(CR)」と「ラインフィード(LF)」の2種類。
「キャリッジリターン(CR)」と「ラインフィード(LF)」を単体・両方を使って改行する。
利用しているPC・サーバーのOSによって、利用する改行コードが異なる。
「.htaccess」「.htpasswd」ファイルが利用できないとき、
改行コードが異なると「.htaccess」「.htpasswd」ファイルが認識されないこともある。
だが、通常ならば、改行コードが異なるサーバーにアップロードするときにFTPソフトなどが、「アスキーモード」を指定すると、改行コードを含め、文字コードを修正してくれる。
OS | 改行コード | 文字コード |
---|
Windows系 | CR + LF( \r + \n ) | ( 0x0D + 0x0A ) |
UNIX・Linux系 | LF( \n ) | ( 0x0A ) |
Macintosh系 | CR( \r ) | ( 0x0D ) |