テストサイトをクライアントに確認していただくとき、ローカルのテスト環境ではなくて外部からもアクセスできるサーバーにアップすることがあります。
一般に公開したくないけど、IDとパスワードを持った方にだけ公開するには、Basic認証が便利です。
で、久し振りに設定したんだけどパスワードが通らなくてしばしハマりました・・・
しばらくして思い出したのですが・・・原因は.htaccessのパスの記述!!
.htaccessのAuthUserFileに記述するパスですが、
basic認証の解説をしてくださっているサイトでは「フルパスで記述」と記載されています。
これは Apache の サイトルート からの絶対パス記述ではなくって、マシンのルートディレクトリからの絶対パスです。
例えば、サイトルート が /usr/www/public_html/ で
.htpasswd をFTPで、public_html配下のhogehogeに配置したとしましょう。
私が犯した間違いは
AuthUserFile /hogehoge/.htpasswd
というように、サイトルートからの絶対パスで記述していたのです。
正しくは、
AuthUserFile /usr/www/public_html/hogehoge/.htpasswd
このように、サイトルートからではなくてルートディレクトリから記述するのが正解です。
たまにしか使わないものだから、毎年同じ間違いをしているような・・・(笑)
コメント