Я получаю запрещенный доступ 403 при попытке открыть страницу под виртуальным хостом, где корень документа находится на другом диске, чем на том диске, где находится 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. Я пробовал устанавливать множество разных прав доступа, даже полные права для всех, но ничего из того, что я пробовал, не помогало.
Обновлено: Спасибо! Для дальнейшего использования добавьте в него «Индексы параметров», чтобы отобразить индексы каталогов.





Где-то вам нужно сообщить Apache, что людям разрешено просматривать содержимое этого каталога.
<Directory "F:/bar/public">
Order Allow,Deny
Allow from All
# Any other directory-specific stuff
</Directory>
@Moss - гм, да, это так. Если у вас возникли трудности, вероятно, есть другая проблема - возможно, ваша конфигурация не читается или разрешения NTFS не позволяют Apache читать ее. Возможно, стоит задать свой вопрос, если у вас все еще не работает ...?
Да, я разместил свой вопрос: stackoverflow.com/questions/10859271/…. Я установил разрешения на Полный доступ для прошедших проверку пользователей, СИСТЕМУ, администраторов для каждой папки от сайта до диска. Что еще можно сделать?
Для Apache 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>
(у) отлично! Добавить в файл vhosts.conf
Apache 2.4 + Windows 10 + XAMPP выдавал ту же ошибку (403 запрещено). В большинстве ответов указано «Требовать все предоставлено», и это не сработало. Добавление «Индексы опций FollowSymLinks MultiViews Includes ExecCG» сработало! Спасибо !
Вам не нужно
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
+1 Это должен быть правильный ответ. избавил меня от головной боли.
Большой. Вы мне очень помогли.
В моем случае мне все еще нужен Options Indexes FollowSymLinks MultiViews
Чтобы уточнить, это ответ на ответ @ cloudwhale, да? связь
Я использую xampp в Windows server 2012, написано «требуется все предоставлено», но все равно проблема.
У меня была такая же проблема. У меня есть внешний жесткий диск в моей системе Windows 10 и путь к нему F. Пока я пытался создать виртуальный хост с DocumentRoot «F: / htdocs», я получал ту же ошибку. Это решение решает мою проблему.
Я исправил это, удалив приведенный ниже код из
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>
И это сработало как шарм
Решенный 403: Запрещено при посещении localhost. Использование портов 80,443,3308 (последний для обработки конфликта с установкой сервера MySQL) Windows 10, XAMPP 7.4.1, Apache 2.4.x Мои веб-файлы находятся в отдельной папке.
httpd.conf - найдите эти строки и установите его там, где у вас есть файлы, моя - это веб-папка.
DocumentRoot "C:/web"
<Directory "C:/web">
Поменял эти 2 строчки.
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot "C:/web/project1"
ServerName project1.localhost
<Directory "C:/web/project1">
Order allow,deny
allow from all
</Directory>
</VirtualHost>
к этому
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot "C:/web/project1"
ServerName project1.localhost
<Directory "C:/web/project1">
Require all granted
</Directory>
</VirtualHost>
Добавьте свои данные в файл хостов C: \ Windows \ System32 \ drivers \ etc \ hosts файл
127.0.0.1 localhost
127.0.0.1 project1.localhost
Остановите запуск XAMPP и нажмите «Администратор Apache» (или «localhost»), и теперь отобразится замечательная панель управления XAMPP! И посетите свой проект по адресу project1.localhost.
Для меня этот файл, который мне пришлось изменить, был C: \ Program Files (x86) \ Apache Software Foundation \ Apache2.2 \ conf \ httpd.conf