Apache дает мне 403 Access Forbidden, когда DocumentRoot указывает на два разных диска - PullRequest
50 голосов
/ 18 сентября 2008

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

<code>
NameVirtualHost 127.0.0.1</p>

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

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

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

Редактировать: Спасибо! Для дальнейшего использования добавьте «Параметры индексов», чтобы показать индексы каталогов.

Ответы [ 4 ]

58 голосов
/ 22 сентября 2012

Вам не нужно

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

50 голосов
/ 18 сентября 2008

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

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

Подробнее

24 голосов
/ 20 сентября 2012

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

<Directory "C:/wamp/www">
    Options Indexes FollowSymLinks MultiViews Includes ExecCGI
    AllowOverride All
    Order Allow,Deny
    Allow from all
    Require all granted
</Directory>
0 голосов
/ 05 декабря 2014

Я исправил это, удалив приведенный ниже код из

C: \ wamp \ bin \ apache \ apache2.4.9 \ conf \ extra \ httpd-vhosts.conf file

<VirtualHost *:80>
    ServerAdmin webmaster@dummy-host.example.com
    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 webmaster@dummy-host2.example.com
    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>

И это сработало как шарм

...