htaccessファイルにて特定のIPの場合のみBasic認証無し、その他の場合はBasic認証有りにする方法
開発中の環境で指定したIPからのアクセスはBasic認証無しに、それ以外のアクセスはBasic認証有りにしてほしいと要望を受けた。PHP側で制御する必要があるのかと思いきや、調べてみたところhtaccessファイルにて対応できるみたい。以下に対応方法についてメモ。
対応方法
パターン1
IPの「xxx.xxx.xxx.xxx」部分は適宜変更すること。
<If "%{REMOTE_ADDR} != 'xxx.xxx.xxx.xxx'"> AuthType Basic AuthName "Please enter your ID and password AuthUserFile /path/to/.htpasswd require valid-user </If>
パターン2
IPの「xxx.xxx.xxx.xxx」部分は適宜変更すること。また、こちらは複数指定可能。
<RequireAny> Require ip xxx.xxx.xxx.xxx Require ip xxx.xxx.xxx.xxx AuthType Basic AuthName "Please enter your ID and password AuthUserFile /path/to/.htpasswd require valid-user </RequireAny>
その他
どちらのパターンもapache2.4系じゃないとダメっぽい(調べた限りでは)。
古いバージョンだと使えない可能性があるので注意すること。
関連記事
-
複数(PHP / metaタグ / htaccess)の方法で301リダイレクト
サイトのディレクトリやファイル名を大幅に変えるという案件があった。それ自体は問題 ...
-
Apache2.4で[access_compat:error]AH01797エラーの対処方法
Apacheのエラーログを追っていると「[access_compat:error ...
-
firebugで「CORS を有効にすると解決できます」と表示される際の対応方法
Aサーバーにjsとかcssとか画像とかを置いて、Bサーバーで呼び出す際にちゃんと ...
-
.htaccessでURLの末尾のphpという拡張子が無い場合でもページを表示させる方法
「/hoge/test.php」のようなディレクトリ・ファイル名の場合は「htt ...
-
htaccessファイルにてVPS⇔レンタルサーバ間のリバースプロキシ設定を行う方法
VPSの指定したディレクトリにアクセスした場合、レンタルサーバの指定したディレク ...