.htaccess - 設置と記述方法

".htaccess" ファイルは、ウェブサイトのディレクトリ毎に、"Apache" サーバの設定を変更する分散設定ファイルです。".htaccess" ファイルの設置は、パフォーマンスが低下しますので、ルートアクセス権限のあるサーバー管理者は、サーバーの主設定ファイルの <Directory> で設定する事を推奨します。

".htaccess" ファイルの設定は、そのディレクトリとサブディレクトリの全てに適用されます。サブディレクトリの ".htaccess" は、上位の ".htaccess" 設定を上書きする可能性が有る事を留意してください。

.htaccess の概要

Directive Command 説明
Order allow,deny アクセスの許可と拒否の順番を、許可してから拒否に設定。
deny,allow アクセスの許可と拒否の順番を、拒否してから許可に設定。
Allow from all 全てのアクセスを許可。
Deny from all 全てのアクセスを拒否。
Options All MultiViews を除く、全てのオプションを許可します。
None 全てのオプションを不可にします。
[+/-]Indexes "/" で終わるアクセスに対して、index ファイルが見つからない場合に、ファイル一覧を[許可/不可]にします。
ディレクトリをそのような目的で使用しない限り不可にします。
[+/-]Includes SSI プログラムの実行を[許可/不可]。
[+/-]IncludesNOEXEC SSI の利用を、制限付きで[許可/不可]。
許可しても、#exec 命令と CGI の #include 命令は使えません。
[+/-]ExecCGI CGI プログラムの実行を[許可/不可]。
[+/-]FollowSymLinks シンボリックリンクを[許可/不可]。
セキュリティ対策のため、不可にする事を推奨します。
SymLinksIfOwnerMatch ファイル所有者に限り、シンボリックリンクを[許可]。
FollowSymLinks よりは安全ですが、パフォーマンスが著しく低下します。
DirectoryIndex index.html index.php ... "/" で終わるアクセスに対して、index ファイルの優先順位を設定します。
Header set X-Frame-Options
'DENY': 全て不可
'SAMEORIGIN': サイト内のみ許可
'ALLOW-FROM uri': 指定した uri のみ許可
<frame> または <iframe> の内部に表示することを[許可/不可]にします。
クリックジャッキング等の不正行為に、自分のサイトが使用されないようにします。
FilesMatch 'pattern' ファイル名が "pattern" にマッチしたら処理をします。
ErrorDocument 'error code' アクセスに対して、"error code" が返されたら、指定されたエラー ドキュメントを表示します。

.htaccess の設置

ここでは、ドキュメントルート直下に ".htaccess" ファイルを設置する場合について記述します。
Windows のエクスプローラーでは、"." で始まるディレクトリやファイルを直接作成できませんので、メモ帳などのテキストエディタを使用して作成します。

  1. メモ帳などのテキストエディタを開きます。
    「スタート」→「全てのプログラム」→「アクセサリ」→「メモ帳」
    テキストエディタが開いたら、
    「ファイル(F)」→「名前を付けて保存(A)」をクリックします。

    メモ帳、名前を付けて保存画面01
  2. エクスプローラーが開いたら、ドキュメントルートの直下に移動して、
    ファイル名(N): .htaccess
    ファイルの種類(T): 全てのファイル (*.*)
    文字コード(E): UTF-8
    を選択して、「保存(S)」をクリックします。

    メモ帳、名前を付けて保存画面02
  3. エクスプローラーで、指定した場所に ".htaccess" ファイルが作成されているのを確認します。

    メモ帳、名前を付けて保存画面03

.htaccess の書き方

".htaccess" ファイルをメモ帳などで開いて記述します。
"#" は、コメント行です。

記述例


#Directory
Order allow,deny
Allow from all

Options -Indexes -FollowSymLinks
DirectoryIndex index.html index.php index.cgi index.shtml

#Files
<FilesMatch '^\.ht'>
  Order allow,deny
  Deny from all
</FilesMatch>

<FilesMatch '\.(ini|inc|dat|log)$'>
  Order allow,deny
  Deny from all
</FilesMatch>

#ErrorDocument
ErrorDocument 401 /error/401.html
ErrorDocument 403 /error/403.html
ErrorDocument 404 /error/404.html
ErrorDocument 500 /error/500.html

Google Sponsored

コメント

このページに関する、ご感想やご質問をお寄せください。
お名前と都道府県名は、正確にお書きください。 - 泰山 -

お名前: *必須
都道府県: *必須
コメント: *必須

まだコメントは有りません。