htaccessファイルの作成方法-サイトのリダイレクトやアクセス制限にも使えます

スポンサーリンク
ワードプレスのセキュリティ対策 カスタマイズ

サイトのリダイレクトやアクセス制限の際に使えるhtaccessファイル。今回は私が実際に使ったことがあるhtaccessファイルの設定について紹介します。


VPN接続でセキュリティ向上

VPN接続でセキュリティ向上

スポンサーリンク

よく使うhtaccessファイルの設定サンプル

各サンプルに共通の設定

htaccessファイルはブラウザ等で中の情報を見られるとまずいので見えないようにする設定をhtaccessファイルの中に記述する必要があります。

<Files ~ "^\.ht">
deny from all
</Files>

上記コードを記述することによってブラウザ等から見ることが出来なくなるのでセキュリティの向上につながります。

BASIC認証(パスワード)

サイトのページやフォルダにパスワードを設定してセキュリティを掛ける方法です。
ダウンロードファイルを設置した場合や、閲覧制限を行う場合等に使います。

AuthType Basic
AuthName "Please enter account and password"
AuthUserFile /home/aaa/public_html/basic/.htpasswd

BASIC認証の場合はhtaccessファイル以外にID・パスワードを格納する.htpasswdファイルが必要になります。
AuthUserFileでパスワードファイルがある場所を指定します。その際の注意点としてファイルの格納先はサーバーの絶対パスを指定する必要があります。(URLではありません。)
AuthNameの部分がブラウザのメッセージ部分になります。
実際にBASIC認証を設定して接続を行おうとすると次のような画面が出ます。

ブラウザのBASIC認証画面

細かい設定が必要な場合はApacheドキュメント、認証、承認、アクセス制御のページにて詳しく書かれているのでそちらを参照してみて下さい。
パスワードファイルの作り方ですが.htpasswdファイルに必要なID:パスワードを羅列していきます。その際にパスワードを暗号化する必要があるのですがID・パスワードを入力することで暗号化されたパスワードを作成してくれるサイトがあるので紹介しておきます。

パスワードは図のように作成されます。

暗号化されたパスワードを作成

生成されたパスワードを.htpasswdファイルに記述していきます。
パスワードは複数設定出来るのでID毎に作成可能です。

エラーページの設定

サイトでエラーが出た時にエラー時に表示されるページの飛び先を設定します。
下のコードはエラー内容によってページを作成しておき、エラー別にページを変えています。
例えば401エラーが出た時には/Error/error401.htmlに飛びなさいという命令が入っています。

ErrorDocument 401 /Error/error401.html
ErrorDocument 403 /Error/error403.html
ErrorDocument 404 /Error/error404.html
ErrorDocument 500 /Error/error500.html

飛び先のURLは相対アドレス、絶対アドレスのどちらでも対応可能です。エラーが出たときはサイトのトップページに戻したい時にはURLの部分でトップページを指定すれば可能です。

リダイレクト(転送)

サイトの引越しやサイト内での構成の変更の際に使えるページ転送の設定です。

サイト全体のリダイレクト

Redirect permanent / http://引っ越し先URL

この設定はアクセスがあったページから違うドメインに飛ばす場合に使います。
.htaccessファイルはフォルダ直下に置くようにしてください。

サイト内のリダイレクト

サイト内でサイト構成を変えたときに使う場合には次のように記述すれば可能です。

Redirect permanent http://aaa.com/bbb/index.html http://aaa.com/bbb.html
Redirect permanent http://aaa.com/ccc/index.html http://aaa.com/ccc.html

Redirect permanentの次に引っ越し元のURL 半角スペースを空けて引っ越し先のURLを記述することで転送行うことが出来ます。
記述するURLは相対URL、絶対URLのどちらでも対応していますし、混在でも構いません。
例えば上記の設定をこのように設定することも可能です。

Redirect permanent /bbb/index.html bbb.html ← 相対URLから相対URL
Redirect permanent http://aaa.com/ccc/index.html ccc.html ← 絶対URLから相対URL
Redirect permanent /ccc/index.html http://aaa.com/ccc.html ← 相対URLから絶対URL

こちらも.htaccessファイルはフォルダ直下に置くようにしてください。

IPアドレス制限

IPアドレスからアクセス元を判断して制限する方法ですがワードプレスを代表とするCMSの管理画面のログイン制限を行う場合によく使います。
ここではワードプレスのwp-login.phpへのログイン制限の設定方法を行います。

<Files wp-login.php> ← ワードプレスの管理画面(wp-login.php)を指定しています。
ErrorDocument 403 /error403.html ← エラーが出た時の飛び先を指定しています。
Order deny,allow
Deny  from all ← ここで一旦全部のアクセスを拒否します。
Allow from 100.100.100.100 ← アクセスするIPアドレスを設定します。
Allow from 101.101.101.101 ← 2列目以降も同様に設定していきます。
Allow from 102.102.102.0/24 ← セグメントをまとめて設定することも可能です。

この設定についてはワードプレスで作られている.htaccessファイルがあるのでそこに追加記述をするようにして下さい。
通常はワードプレスをインストールしているフォルダの直下にあるはずです。

最後に

htaccessファイルはサイトのアクセスに関するいろいろな設定が可能です。
今回紹介したBAISC認証、エラーページの設定、リダイレクト、IPアドレス制限の設定はサイト構築の際によく使う設定なのでうまく活用してもらえればと思います。
特にワードプレスを構築している際のIPアドレス制限の設定はセキュリティに非常に効果があると思います。
セキュリティが気になる方は是非、試してみて下さい。


WordPressに特化したレンタルサーバー『wpXレンタルサーバー』

WordPressに特化したレンタルサーバー『wpXレンタルサーバー』

コメント