Apache .htaccess 错误:Debian Wheezy 上的“此处不允许”

Apache .htaccess 错误:Debian Wheezy 上的“此处不允许”

我正在尝试配置一个需要在根目录中受密码保护的 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 用户和组。我还尝试将这些规则添加到虚拟主机配置文件中,但这也没有奏效。

你能帮助我吗?

谢谢!

配置文件apache:

<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-enabled 目录的 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

答案1

FileInfo Indexes/var/www/ninja/www/ 上的 Apache 目录指令仅允许通过 .htaccess 文件修改行为。请参阅 Apache 文档允许覆盖

请修改AllowOverride以允许本地配置AuthConfig导致:

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

答案2

您的配置应该添加AuthConfig 限制

允许覆盖 FileInfo 索引

成为

允许覆盖 FileInfo 索引AuthConfig 限制

相关内容