apache virtualhost conf 文件和授权

apache virtualhost conf file and authorizations

这是我的配置文件:

<VirtualHost *:80>
    ServerAdmin r0dy@r0dy.net
    ServerName mtc.r0dy.net
    ServerAlias www.mtc.r0dy.net

    DocumentRoot /var/www/mtc
    <Directory />
            Options FollowSymLinks
            AllowOverride None
    </Directory>
    <Directory /var/www/mtc>
            Options Indexes FollowSymLinks MultiViews
            AllowOverride None
            Order allow,deny
            Allow from all
    </Directory>
     <Directory /var/www/mtc/bo>
            AuthName "Restricted Area: BackOffice"
            AuthType Basic
            AuthUserFile /var/www/mtc/bo/.htpasswd
#           AuthGroupFile /dev/null
            require valid-user
    </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

Alias /doc/ "/usr/share/doc/"
<Directory "/usr/share/doc/">
    Options Indexes MultiViews FollowSymLinks
    AllowOverride None
    Order deny,allow
    Deny from all
    Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>

</VirtualHost>

当我注释掉 <Directory /var/www/mtc/bo> 部分时,它不要求提供凭据。
当我取消注释时,如果我浏览到该目录,它会要求提供凭据并且工作正常。
我的问题是,即使我 去 /bo/ 目录,它也会要求提供凭据,我只是浏览到 http://mtc.r0dy.net/ 并且我被阻止了。
知道我做错了什么吗?

如果有人遇到同样的问题,我通过在我的目录中添加允许指令来解决它:

        <Directory />
                Options FollowSymLinks
                #AllowOverride None
                Order allow,deny
                Allow from all
        </Directory>
        <Directory /var/www/mtc>
                Options Indexes FollowSymLinks MultiViews
                #AllowOverride None
                Order allow,deny
                Allow from all
        </Directory>
         <Directory /var/www/mtc/bo>
                Order allow,deny
                Allow from all
                AuthName "Restricted Area: BackOffice"
                AuthType Basic
                AuthUserFile /var/www/mtc/bo/.htpasswd
#               AuthGroupFile /dev/null
                require valid-user
        </Directory>

我不明白为什么它与 allow 指令一起工作并且在没有 allow 指令的情况下表现得很奇怪,但它现在工作正常。如果有人有解释,不客气。