4

我正在尝试将身份验证用于在 apache2 中访问我的文档根目录...这是我的配置文件

<VirtualHost *:80>

        ServerAdmin webmaster@localhost
        AccessFileName .htaccess
        DocumentRoot /home/user/workspace
        <Directory />
                Options FollowSymLinks
                AllowOverride None.htaccess
        </Directory>
        <Directory /home/vishu/workspace>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride AuthConfig
                Order allow,deny
                allow from all
        </Directory>
......
......

</VirtualHost>

这是我在 /home/user/workspace 文件夹中的 .htaccess 文件:

<FilesMatch >
.....
</FilesMatch>

    AuthType Basic
    AuthName "MY ZONE"
    #AuthBasicProvider file
    AuthUserFile /home/vishu/workspace/passwordfile
    AuthGroupFile /dev/null
    Require valid-user
.....
...

Apache 给出.htaccess:order not allowed here错误,我从浏览器收到 500 错误。

4

3 回答 3

7

看看你的AllowOverride指令。我也有这个问题,但以下配置对我有用:

<Directory /var/www/>
    Options Indexes FollowSymLinks
    AllowOverride AuthConfig Limit
    Require all granted
</Directory>

AllowOverride All也可能会起作用,这取决于您要允许多少。

查看这两个链接以获取更多信息:

https://drupal.org/node/10133

http://httpd.apache.org/docs/2.2/howto/auth.html

于 2014-03-16T09:09:57.157 回答
1

我遇到了同样的问题,这是由于我的主机的限制不允许我添加任何带有“允许,拒绝”或其他内容的内容。所以基本上我必须注释掉所有不“允许”的东西才能让它工作。

如果这对您来说是个问题,可能需要切换主机。

于 2013-07-09T08:04:16.627 回答
1

我不确定为什么你会得到“''order not allowed here''”,因为你Order的 htaccess 文件中没有指令,但我猜它可能是你的/目录中的东西,因为你有覆盖集到None.

<Directory />您可以尝试在容器中添加覆盖,例如:

AllowOverride Limit

根据Apache 文档

于 2013-01-10T06:40:07.693 回答