「.htaccess」(HyperText Access)は、Apache(アパッチ)ウェブサーバーを中心に使用される設定ファイルの一種です。
.htaccessファイルは、ウェブサーバーの動作や挙動をカスタマイズし、ディレクトリ単位で設定を適用するために使用され、ウェブサイトのルートディレクトリやそのサブディレクトリに配置されることが一般的です。
みなさんがよく利用するWordPressサイトの.htaccessファイルは、サイトの「ルートフォルダー」にあります。
この記事では.htaccessとは何か、そして.htaccessでできること、書き方、注意点などについて解説いたします。
.htaccess とは
.htaccessを利用すれば、特定のウェブページに対してリダイレクトやアクセス制限、カスタム404ページを表示するように指示を出すことが可能です。
.htaccessでできること
.htaccess ファイルを使用することで、以下の機能を動かすことができます。
1.リダイレクト
特定のURLへのアクセスを別のURLにリダイレクトするための設定を行うことができます。
例えば、古いページのURLを新しいページにリダイレクトするなどの用途があります。
2.アクセス制御
特定のディレクトリやファイルへのアクセスを制限するための設定を行えます。
認証をかけてアクセスを制限することや、特定のIPアドレスからのアクセスをブロックすることができます。
3.カスタムエラーページ
エラーページをカスタマイズするための設定を行えます。
例えば、404 Not Found エラーの場合に独自のエラーページを表示することが可能です。
4.キャッシュ制御
ブラウザキャッシュやプロキシキャッシュの挙動を制御するための設定を行えます。
コンテンツのキャッシュ期間を設定し、キャッシュを無効化できます。
5.URLのリライト
クライアントが見るURLと実際のファイルパスをマッピングするための設定を行うことができます。
URLを短縮するためのリライトルールの設定や、クエリパラメータを扱いやすい形に変更することができます。
6.セキュリティ強化
セキュリティ対策を強化するための設定を行えます。
不正なアクセスや攻撃を防ぐためのルールを追加したり、セキュリティヘッダを設定することができます。
.htaccessの書き方例
では、以下に基本的な .htaccess の書き方例をいくつか示します。
記載内容は使用目的に合わせて調整する必要があります。
また、.htaccess ファイルを編集する前にバックアップを取っておきましょう。
リダイレクトの設定
# 301リダイレクト(永久転送)
Redirect 301 /old-page.html http://example.com/new-page.html
# ディレクトリ全体のリダイレクト
RedirectMatch 301 /old-directory/(.*) http://example.com/new-directory/$1
アクセス制御と認証
# 基本認証をかける
AuthType Basic
AuthName “Restricted Area”
AuthUserFile /path/to/.htpasswd
Require valid-user
キャッシュ制御
# キャッシュ無効化
<FilesMatch “\.(html|php)$”>
Header set Cache-Control “no-store, no-cache, must-revalidate”
</FilesMatch>
# 特定のファイルにキャッシュ期間を設定
<Files “image.jpg”>
Header set Cache-Control “max-age=3600”
</Files>
セキュリティ強化
# クリックジャッキング対策
Header always append X-Frame-Options SAMEORIGIN
# XSS対策
Header set X-XSS-Protection “1; mode=block”
これらは一般的な .htaccess の書き方の例ですが、目的に応じてさまざまなルールを設定することができます。
.htaccessに関する注意点
.htaccess ファイルを使用する際には、いくつかの注意点があります。
誤った設定やコードが含まれると、ウェブサイトの動作に悪影響を及ぼす可能性があるため、以下の注意点に留意して作成しましょう。
バックアップを取る
.htaccess ファイルを変更する前に、必ずバックアップを取っておくことをおすすめします。
誤った設定を行った場合、バックアップから復元できるため、ウェブサイトが表示されない時間を最小限に抑えることができます。
正しい文法を使用する
.htaccess ファイルの設定やルールは正しい文法に従って記述する必要があります。
誤った記述やタイプミスがエラーを引き起こす可能性があるため、注意深く記述してください。
テスト環境で試す
新しい .htaccess の設定やルールを適用する前に、テスト環境で試してください。
予期せぬ問題が発生することを事前に確認し、本番環境に影響を及ぼさないようにしましょう。
エラーログを確認する
.htaccess ファイルに誤った設定が含まれている場合、ウェブサーバーのエラーログにエラーメッセージが表示されることがあります。
エラーログを確認して問題を特定し、修正する手助けとして活用しましょう。
セキュリティに注意する
.htaccess ファイルのセキュリティを保護するために、ファイル自体のアクセス権限を適切に設定しておくことが重要です。
他のユーザーからのアクセスを制限し、悪意のある変更を防ぐようにします。
まとめ
いかがでしたでしょうか。
.htaccessは、ウェブサーバーをディレクトリ単位で制御するためのファイルのことです。
BASIC認証・リダイレクト・キャッシュ制御などに使用し、ウェブサイトの動作やセキュリティを制御するために使用される重要なファイルです。
.htaccess ファイルは非常に強力なため、ウェブサーバーの動作の中心にあるといっても過言ではありません。
誤った記述をしてしまうとウェブサイトの動作に大きな影響を与え、最悪の場合はサイトが表示されなくなる可能性があるため、コードを記述する際は注意深く作成することが重要です。