Apache выдает мне 403 «Доступ запрещен», когда DocumentRoot указывает на два разных диска
-
01-07-2019 - |
Вопрос
Я получаю сообщение об ошибке 403, запрещающее доступ при попытке открыть страницу под виртуальным хостом, где корень документа находится на другом диске, а не на том, где находится Apache.Я установил, используя версию ApacheFriends.Это мой файл httpd-vhosts.conf:
NameVirtualHost 127.0.0.1
u003CVirtualHost 127.0.0.1>Servername foo.localhost DocumentRoot "C:/xampp/htdocs/foo/public"u003C/VirtualHost>
u003CVirtualHost 127.0.0.1>ServerName BAR.LocalHost DocumentRoot "F:/bar/public"u003C/VirtualHost>
При открытии bar.localhost в моем браузере Apache выдает мне 403 Access Forbidden.Я пробовал устанавливать много разных прав доступа, даже полные права для всех, но ничего из того, что я пробовал, не помогло.
Редактировать:Спасибо!Для дальнейшего использования добавьте «Индексы параметров», чтобы отображать индексы каталогов.
Решение
Вам не нужно было
Options Indexes FollowSymLinks MultiViews Includes ExecCGI
AllowOverride All
Order Allow,Deny
Allow from all
Require all granted
единственное, что тебе нужно, это...
Require all granted
... внутри раздела каталога.
См. раздел обновления Apache 2.4:
Другие советы
Где-то вам нужно сообщить Apache, что людям разрешено видеть содержимое этого каталога.
<Directory "F:/bar/public">
Order Allow,Deny
Allow from All
# Any other directory-specific stuff
</Directory>
Для Апач 2.4.2:я получал 403:Запрещенный постоянно, когда я пытался получить доступ к WAMP на рабочем столе Windows 7 с iPhone по Wi-Fi.На одной блог, нашел решение - добавляю Требовать все предоставленные после Позволять все в <Каталог> раздел.Так вот как мой <Каталог> раздел выглядит как внутри <VirtualHost>
<Directory "C:/wamp/www">
Options Indexes FollowSymLinks MultiViews Includes ExecCGI
AllowOverride All
Order Allow,Deny
Allow from all
Require all granted
</Directory>
Я исправил это, удалив приведенный ниже код из
C:\wamp\bin\apache\apache2.4.9\conf\extra\httpd-vhosts.conf файл
<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>
И это сработало как шарм