Apache-2.2

Apache .htaccess 錯誤:Debian Wheezy 上的“此處不允許”

  • December 13, 2013

我正在嘗試配置一個需要在根目錄中進行密碼保護的 apache 虛擬主機。

所以我創建了一個 .htpasswd 文件(帶有 sha 密碼)並配置了 .htaccess 文件。不管我做什麼,在網頁上我得到一個錯誤 500(內部伺服器錯誤),在 error.log 我看到這個:

/var/www/ninja/www/.htaccess: deny not allowed here

或者如果我將拒絕排除在 .htaccess 之外:

AuthUserFile not allowed here

.htpasswd 和 .htaccess 文件對於 apache 都是可讀的,並且設置為 www-data 使用者和組。我還嘗試將這些規則添加到虛擬主機配置文件中,但這也沒有奏效。

你能幫幫我嗎?

謝謝!

配置文件阿帕奇:

<VirtualHost *:80>
   ServerAdmin webmaster@localhost
   ServerName ninja

   DocumentRoot /var/www/ninja/www
   ServerAlias ninja

   <Directory /var/www/ninja/www/>
       Options Indexes FollowSymLinks MultiViews
       AllowOverride FileInfo Indexes
       Order allow,deny
       allow from all
   </Directory>

   ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
   <Directory "/usr/lib/cgi-bin">
       AllowOverride None
       Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
       Order allow,deny
       Allow from all
   </Directory>

   ErrorLog ${APACHE_LOG_DIR}/error.log

   # Possible values include: debug, info, notice, warn, error, crit,
   # alert, emerg.
   LogLevel warn

   CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

htaccess 文件:(放置在 /var/www/ninja/www/ 中)

Deny from all
#Allow from (You may set IP here / to access without password)
AuthUserFile /var/www/ninja/.htpasswd   
AuthName authorization
AuthType Basic
require valid-user

這是啟用 mods 的目錄的 ls

alias.conf -> ../mods-available/alias.conf
alias.load -> ../mods-available/alias.load
auth_basic.load -> ../mods-available/auth_basic.load
authn_file.load -> ../mods-available/authn_file.load
authz_default.load -> ../mods-available/authz_default.load
authz_groupfile.load -> ../mods-available/authz_groupfile.load
authz_host.load -> ../mods-available/authz_host.load
authz_user.load -> ../mods-available/authz_user.load
autoindex.conf -> ../mods-available/autoindex.conf
autoindex.load -> ../mods-available/autoindex.load
cgi.load -> ../mods-available/cgi.load
deflate.conf -> ../mods-available/deflate.conf
deflate.load -> ../mods-available/deflate.load
dir.conf -> ../mods-available/dir.conf
dir.load -> ../mods-available/dir.load
env.load -> ../mods-available/env.load
mime.conf -> ../mods-available/mime.conf
mime.load -> ../mods-available/mime.load
negotiation.conf -> ../mods-available/negotiation.conf
negotiation.load -> ../mods-available/negotiation.load
php5.conf -> ../mods-available/php5.conf
php5.load -> ../mods-available/php5.load
reqtimeout.conf -> ../mods-available/reqtimeout.conf
reqtimeout.load -> ../mods-available/reqtimeout.load
setenvif.conf -> ../mods-available/setenvif.conf
setenvif.load -> ../mods-available/setenvif.load
status.conf -> ../mods-available/status.conf
status.load -> ../mods-available/status.load

/var/www/ninja/www/ 上的 Apache Directory 指令僅允許FileInfo Indexes通過 .htaccess 文件修改 .htaccess 的行為。請參閱有關AllowOverride的 Apache 文件。

請修改AllowOverride以也允許本地配置AuthConfig導致:

<Directory /var/www/ninja/www/>
   Options Indexes FollowSymLinks MultiViews
   AllowOverride FileInfo Indexes Authconfig
</Directory>

您的配置應添加AuthConfig限制

AllowOverride FileInfo 索引

變成

AllowOverride FileInfo 索引AuthConfig 限制

引用自:https://serverfault.com/questions/561137