Подтвердить что ты не робот

Apache дает мне 403 доступ запрещен, когда DocumentRoot указывает на два разных диска

Я получаю запрет доступа 403 при попытке открыть страницу под vhost, где корень документа сидит на другом диске, чем там, где сидит apache. Я установил с помощью выпуска apachefriends. Это мой httpd-vhosts.conf файл:


NameVirtualHost 127.0.0.1

<VirtualHost 127.0.0.1> ServerName foo.localhost DocumentRoot "C:/xampp/htdocs/foo/public" </VirtualHost>

<VirtualHost 127.0.0.1> ServerName bar.localhost DocumentRoot "F:/bar/public" </VirtualHost>

При открытии bar.localhost в моем браузере Apache предоставляет мне 403 Access Forbidden. Я пробовал устанавливать множество разных прав доступа, даже полные права для всех, но ничего, что я пытался, помогло.

Изменить: Спасибо! Для дальнейшего использования добавьте индексы опций 'для отображения индексов каталога.

4b9b3361

Ответ 1

Вам не нужно

Options Indexes FollowSymLinks MultiViews Includes ExecCGI
AllowOverride All
Order Allow,Deny
Allow from all
Require all granted

единственное, что вам нужно...

Require all granted

... внутри раздела каталога.

См. страницу обновления Apache 2.4:

http://httpd.apache.org/docs/2.4/upgrading.html

Ответ 2

Где-то вам нужно сообщить Apache, что людям разрешено видеть содержимое этого каталога.

<Directory "F:/bar/public">
    Order Allow,Deny
    Allow from All
    # Any other directory-specific stuff
</Directory>

Дополнительная информация

Ответ 3

Для Apache 2.4.2: я получал 403: Запрещено непрерывно, когда я пытался получить доступ к WAMP на рабочем столе Windows 7 с моего iPhone на WiFi. На одном blog я нашел решение - добавьте Требовать все предоставленные после Разрешить все в <Directory> раздел. Так вот как мой <Directory> раздел выглядит как внутри <VirtualHost>

<Directory "C:/wamp/www">
    Options Indexes FollowSymLinks MultiViews Includes ExecCGI
    AllowOverride All
    Order Allow,Deny
    Allow from all
    Require all granted
</Directory>

Ответ 4

Я исправил его с удалением кода ниже

C:\wamp\bin\apache\apache2.4.9\conf\extra\httpd-vhosts.conf файл

<VirtualHost *:80>
    ServerAdmin [email protected]
    DocumentRoot "c:/Apache24/docs/dummy-host.example.com"
    ServerName dummy-host.example.com
    ServerAlias www.dummy-host.example.com
    ErrorLog "logs/dummy-host.example.com-error.log"
    CustomLog "logs/dummy-host.example.com-access.log" common
 </VirtualHost>

<VirtualHost *:80>
    ServerAdmin [email protected]
    DocumentRoot "c:/Apache24/docs/dummy-host2.example.com"
    ServerName dummy-host2.example.com
    ErrorLog "logs/dummy-host2.example.com-error.log"
    CustomLog "logs/dummy-host2.example.com-access.log" common
</VirtualHost>

И добавил

<VirtualHost *:80>
    ServerAdmin [email protected]
    DocumentRoot "c:/wamp/www"
    ServerName localhost
    ErrorLog "logs/localhost-error.log"
    CustomLog "logs/localhost-access.log" common
</VirtualHost>

И он работал как шарм