【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 )