.htaccessとフォルダの保護 - 別の.htacessファイルを別のフォルダに作成する必要がありますか?

.htaccess file contains a list of rewrite rules and works fine,

.htaccess file is in the root directory,

.htaccess contains:

RewriteEngine On
RewriteCond %{REQUEST_METHOD} !POST
RewriteRule ^index.php/[L,R=301]

/secret フォルダをパスワードで保護する方法は?

私は追加する必要があります

AuthUserFile /secret/path/to/safedirectory/.htpasswd
AuthGroupFile /dev/null
AuthName EnterPassword
AuthType Basic
require valid-user

ルートディレクトリにある .htaccess ファイルに移動しますか?上のコードの直後、または最初の時点で?

または、/secret フォルダに別の .htaccess ファイルを作成して .htpasswd /secret/safedirectory フォルダ?

ありがとうございました。

0
可能なソリューションが既にある場合は、投稿する前にそれらのすべてを試してみてください
追加された 著者 Somesh Mukherjee,
私の場合、2つの.htaccessファイルを含む2番目の解決策は機能しません。パスワードを入力した後、401.shtmlにリダイレクトされます(最初の.htaccessファイルにはより多くの書き換えがあり、この質問のために簡略化しました)。 .htaccessをルートフォルダから削除すると、(再書き込みなしで)動作します。また、シークレットフォルダから.htaccessを削除すると動作します(動作しますが、パスワードは尋ねません)。しかし、両方のファイルでは、401エラーになります。なぜ私は理解できません。そういうわけで私は何が間違っているのかを尋ねて理解しようとしています。
追加された 著者 Haradzieniec,

1 答え

これを秘密のディレクトリの.htaccessに入れましたか?

 AuthUserFile /path/to/safedirectory/.htpasswd
 AuthGroupFile /dev/null
 AuthName EnterPassword
 AuthType Basic
 require valid-user

.htaccessを秘密のディレクトリに置く必要があります

0
追加された
はい。最初の.htaccessはルートディレクトリにあります。 2番目(コード付き).htaccessは/ secretディレクトリにあります。 .htpasswdは/ secret/safedirectoryフォルダにあります。パスは正しいです(パスワードを入力してテストします。ルートディレクトリから.htaccessを削除すると401.shtmlにリダイレクトされません)。
追加された 著者 Haradzieniec,