開発環境のみBasic認証をかける方法(.htaccessファイル利用)

.htaccessファイルを使いBasic認証をかけてWEBシステム開発やサイト制作を行うことはよくわると思いますが、公開時には忘れずにBasic認証の記述を外す必要があります。

Basic認証を外すことはたいした作業ではないので、何とも思わない方が多いかと思いますが、今回は、開発(テスト)環境のホストでのみBasic認証をかけて本番環境のホストや特定のホストではBasic認証を外す方法を書いていきます。

一般的なBasic認証

# Basic認証
AuthUserFile "/home/xxxxx/example.com/htpasswd/.htpasswd"
AuthName "Member Site"
AuthType BASIC
require valid-user

開発環境のみBasic認証

Order Deny,Allow
Deny from all

# デフォルトの All ではなく Any を指定します
# Any にしないと Basic認証を通過してもホストが許可されていないため表示出来ません
Satisfy Any

# マッチしたホストを許可する
SetEnvIf HOST "^(analyzegear\.co\.jp|www\.example\.com|localhost)$" allowedHost
Allow from env=allowedHost

# ここからいつものBasic認証
AuthUserFile "/home/xxxxx/example.com/htpasswd/.htpasswd"
AuthName "Member Site"
AuthType BASIC
require valid-user

SetEnvIf の行に本番環境のホストやBasic認証をかけたくないホストを指定します。また Satisfy のところで Any(許可ホストかユーザ認証どちらか満たせば通過)にしないとBasic認証をクリアしてもサイトを表示出来ないのでご注意ください。

上記記述を追加しておくと開発(テスト)環境と本番環境で同じ .htaccess ファイルで管理できるので運用が少し楽になると思います。

動作環境情報

エックスサーバー(x10)

コメント

タイトルとURLをコピーしました