.htaccessファイルの構文と一般的な使用例
.htaccessは、ウェブサイトの構成を設定するためのApacheサーバーのファイルです。このファイルは、Apacheサーバーのモジュールであるmod_rewriteやmod_authを使って、ウェブサイトのアクセス制御やリダイレクトを実現します。
.htaccessファイルの構文は以下の通りです:
- 注釈:行頭に「#」を付けると、サーバーはその行を処理しません。
- 指示:各行は指示とパラメーターで構成され、スペースで区切ります。
- 指令ブロック:関連する命令を整理するために、<指令ブロック名>と</指令ブロック名>を使って囲むことができます。
以下は一般的な.htaccessコマンドと例です:
- リダイレクト:
- リダイレクト:ページを別のページにリダイレクトする。
例:Redirect /old-page.html /new-page.html - RewriteRuleを使用して、URLを正規表現で書き換えます。例:RewriteRule ^old-page.html$ new-page.html [R=301,L]
- ブロックリスト:
- 指定目録の一覧を禁止します。
- アクセス制御:
- 要件:アクセス制御ルールの設定。
例:Require all denied。 - MIMEタイプ:
- AddType:MIMEタイプを追加する。
例:AddType application/x-httpd-php .php - カスタムエラーページ:
- ErrorDocument:エラーページを指定します。
例えば:ErrorDocument 404 /error404.html - GZIP圧縮を有効にする:
- mod_deflateを使って、GZIP圧縮を有効にします。
例:
SetOutputFilter DEFLATE - ホットリンクは禁止です。
- RewriteCond:Hotlinkingを許可するかどうかを判断するために、HTTP_REFERERをチェックします。
例えば:RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http(s)?://(www.)?yourdomain.com [NC]
RewriteRule .(jpg|jpeg|png|gif)$ – [NC,F,L]
上記の例は、.htaccessの一部分の機能に過ぎません。 .htaccessには他にも多くの指示と機能がサポートされており、具体的な要件に応じて設定できます。