Назад | Перейти на главную страницу

Apache - ограничить доступ ко всем папкам, кроме одной

Мне нужно ограничить доступ к x количеству папок с паролем, это много у меня работает.

Однако теперь мне нужно добавить папку с названием «общедоступная», доступная без пароля. это должно быть на том же уровне, что и другие папки. Я не могу изменить расположение папок, так как это повредит существующие ссылки.

OSX 10.4.11 Apache 1.3.41

Вот моя конфигурация, пока она показывает корень сайта без пароля, но по-прежнему запрашивает пароль для общей папки. Я бы предпочел не использовать файлы .htaccess, но если это мой единственный вариант, я буду.

<VirtualHost *:80>
ServerName example.com
ServerAlias www.example.com
DocumentRoot "/Library/WebServer/example.com/www/"
CustomLog "/var/log/httpd/access_log" "%h %l %u %t \"%r\" %>s %b"
ErrorLog "/var/log/httpd/error_log"
    <Directory "/Library/WebServer/example.com/www/">
            Options All +Indexes -ExecCGI +Includes +MultiViews
            AllowOverride None
            IndexOptions NameWidth=*
            Order Deny,Allow
            Allow from all                         
    </Directory>
    <Directory "/Library/WebServer/example.com/www/public/">
            Options All +Indexes -ExecCGI +Includes +MultiViews
            AllowOverride None
            IndexOptions NameWidth=*
            Order Deny,Allow
            Allow from all
    </Directory>
    <Directory "/Library/WebServer/example.com/www/*/">
            Options All +Indexes -ExecCGI +Includes +MultiViews
            AllowOverride None
            IndexOptions NameWidth=*
            AuthName "Restricted Area"
            AuthType Basic
            AuthUserFile /Library/WebServer/example.com/.htpasswd
            require valid-user
    </Directory>
</VirtualHost>

Мне известны проблемы с AuthType Basic, а также проблемы с запуском очень старой версии Apache.

Добавить Удовлетворительно до конца твоего Directory директива:

<Directory "/Library/WebServer/example.com/www/public/">
        Options All +Indexes -ExecCGI +Includes +MultiViews
        AllowOverride None
        IndexOptions NameWidth=*
        Order Deny,Allow
        Allow from all
        Satisfy Any
</Directory>

клиент получит доступ без запроса пароля.