私は、Apacheの特定のフォルダの直接アクセスをブロックしようとしています。.htacessがApacheのフォルダをブロックしないのはなぜですか?
マイフォルダ構造: /var/www/htmlと設定 - 私はパスワードを使用してプライベートフォルダを保護しようとしています -jss
CSS - page.html - プライベートフォルダ 。
私は次のステップを行った:
1。プライベートフォルダに.htacessファイルを作成します。
.htacessファイル:
AuthType Basic
AuthName "Restricted Content"
AuthUserFile /etc/apache2/.htpasswd
Require valid-user
2。/etc/apache2に.htpasswdファイルを作成します。htpasswd
- これで/etc/apache2/apache2.confのいくつかのルールが変更されました。
しかし、私が10.0.0.1/privateにアクセスすると、パスワードを使用してこのディレクトリを参照することができます。
<Directory />
Options FollowSymLinks
AllowOverride None
Require all denied
</Directory>
<Directory /usr/share>
AllowOverride None
Require all granted
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride AuthConfig
AllowOverride All
Require all granted
</Directory>
<Directory /var/www/>
Options ExecCGI
AllowOverride None
Order allow,deny
Allow from all
AddHandler cgi-script .cgi
</Directory>
<Directory /var/www/>
Options All
</Directory>
AccessFileName .htaccess
他の問題はありますか?私は.htaccess
と.htpasswd
sudo chmod 777 /var/www/html/private/.htaccess
と
sudo chmod 777 /etc/apache2/.htaccess
の両方に任意の提案を書き込み権限が設定されていますか?
だから私は '.htacess'ファイルを削除し、' 'apache2.confにして、このルールを含める必要がありますか?また、 'AllowOverride All'を' 'にすでに追加しました。 –
user2986042
このAuthの問題では、 '.htaccess'を' private/'フォルダから削除し、これを' .conf'に含めます。それが唯一の.htaccessなら、 'AllowOverride All'を' AllowOverride None'に変更することができます。他の.htaccessファイルがある場合は、それらのディレクティブを '.conf'に移動し、' AllowOverride All'を 'AllowOverride None'に変更してください。 –
'.htaccess'はあなたが' .conf'ファイルにアクセスできない場合(例えば共有ホスティング) –