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

47

Я получаю запрет доступа 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. Я пробовал устанавливать множество разных прав доступа, даже полные права для всех, но ничего, что я пытался, помогло.

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

Теги:
virtualhost
http-status-code-403

4 ответа

56
Лучший ответ

Вам не нужно

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

  • 3
    +1 ред Ты спас мой день :)
  • 0
    отличный, точный ответ!
Показать ещё 7 комментариев
48

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

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

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

  • 2
    Для меня этот файл я должен был изменить: C: \ Program Files (x86) \ Apache Software Foundation \ Apache2.2 \ conf \ httpd.conf
  • 0
    @ Мосс - да, это так. Если у вас возникли проблемы, то, скорее всего, есть другая проблема - возможно, ваша конфигурация не читается или разрешения NTFS не позволяют Apache ее читать. Может быть, стоит написать свой вопрос, если у вас все еще не получается ...?
Показать ещё 2 комментария
21

Для 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>
  • 0
    это сработало для меня
  • 1
    (у) отлично! Добавить в файл vhosts.conf
Показать ещё 1 комментарий
0

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

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 webmaster@localhost
    DocumentRoot "c:/wamp/www"
    ServerName localhost
    ErrorLog "logs/localhost-error.log"
    CustomLog "logs/localhost-access.log" common
</VirtualHost>

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

Ещё вопросы

Сообщество Overcoder
Наверх
Меню