1

ローカルサーバーとリモートサーバーの両方で実行する必要のあるアプリケーションを開発しています。1つのディレクトリはファイルを使用して保護されhtpasswdます。htpasswdこれは、ファイル内のファイルへのパスを定義する方法htaccessです。

AuthUserFile ../app/some-folder/.htpasswd

残念ながら、appサーバーにはフォルダーが必要ですが、ローカルにはありません。代わりに、パスは次のようになります。

AuthUserFile /Volumes/some/very/long/path/some-folder/.htpasswd

if / elseステートメントでこのAuthUserFileパスを現在のホストに応じて切り替えることは可能ですか(編集:またはさらに良いことに、ローカルでの認証は必要ありません)?または、このファイルをローカルホストとリモートホストの両方で機能させるための別の回避策はありますか?

4

2 に答える 2

0

気にしないで、私はそれを理解しました。私はこれを私の中に入れました.htaccess

AuthName "Protected"
AuthType Basic
AuthUserFile path/to/.htpasswd
Require valid-user
Order deny,allow
Deny from all
Allow from 127.0.0.1
Satisfy Any

これにより、ローカルIPからの接続は、パスワードを入力せずに通過できます。完璧ではありませんが、私の状況では機能します。

于 2013-02-10T09:33:56.040 に答える
0

Apache 2.4以降では、でIfディレクティブを使用できます。%{HTTP_HOST}.htaccess

<If "%{HTTP_HOST} == 'localhost'">
AuthUserFile /development-path/.htpasswd
</If>

<Else>
AuthUserFile /production-path/.htpasswd
</Else>
于 2019-06-27T15:17:13.090 に答える