1

ファイルへのアクセスを保護するために.htaccessファイルを設定する際に問題が発生しました。保護するファイルは次のとおりです:www.mydomain.com/admin/stats.php

次のコードを使用して、.htaccessファイルをwww.mydomain.com/adminフォルダーに配置します。

AuthName "Restricted Area" 
AuthType Basic 
AuthUserFile /
<Files stats.php>
require valid-user
</Files>

ファイル.htpasswdもwww.mydomain.com/adminフォルダーにあり、ユーザー名とパスワードが含まれています。

www.mydomain.com/admin/stats.phpにアクセスしようとすると、「内部サーバーエラー」が発生します。間違いは「AuthUserFile」のパスにあると思いますが、保護するファイルが.htpasswdの同じフォルダーにあることをファイルに伝えるにはどうすればよいですか?

サーバーはLinuxベースです。

4

3 に答える 3

1

htpasswdファイルへの完全なパスを入力する必要があると思います:つまり。

AuthUserFile/home/-user-/-site-/.htpasswd

于 2012-07-01T16:58:40.143 に答える
1

こんにちは、以下でこれを試すことができます:

これは、親フォルダーの実パスを表示するpath.phpファイルです。

<?php 

     echo realpath('path.php'); 

?>

.htpasswdには、次のようなものが必要です。

username:password

ただし、パスワードは暗号化する必要があります。

<?php 

echo crypt('your_password'); 

?>

そして最後にこれは.htaccessファイルです

<Files page_to_protect.php>
AuthName "Message" 
AuthUserFile \realpath_to_htpasswd\.htpasswd 
AuthType Basic
require valid-user
</Files>
于 2017-09-24T10:54:32.927 に答える
0

Apacheのドキュメントから:

File-pathは、グループファイルへのパスです。絶対的でない場合は、ServerRootに対して相対的なものとして扱われます。

つまり、ファイルへの完全な(絶対)パスを指定するか、.htpasswdファイルへの相対パスを指定する必要がありますServerRoot。例:

AuthUserFile /www/passwords/.htpasswd
于 2012-07-01T16:59:28.747 に答える