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

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

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

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
54
0
110 638
5
Перейти к ответу Данный вопрос помечен как решенный

Ответы 5

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

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

Больше информации

Для меня этот файл, который мне пришлось изменить, был C: \ Program Files (x86) \ Apache Software Foundation \ Apache2.2 \ conf \ httpd.conf

Paul Ostrowski 07.05.2012 01:57

@Moss - гм, да, это так. Если у вас возникли трудности, вероятно, есть другая проблема - возможно, ваша конфигурация не читается или разрешения NTFS не позволяют Apache читать ее. Возможно, стоит задать свой вопрос, если у вас все еще не работает ...?

Mark Embling 02.06.2012 21:28

Да, я разместил свой вопрос: stackoverflow.com/questions/10859271/…. Я установил разрешения на Полный доступ для прошедших проверку пользователей, СИСТЕМУ, администраторов для каждой папки от сайта до диска. Что еще можно сделать?

Moss 03.06.2012 07:53

Для 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

NaeN 24.09.2015 12:29

Apache 2.4 + Windows 10 + XAMPP выдавал ту же ошибку (403 запрещено). В большинстве ответов указано «Требовать все предоставлено», и это не сработало. Добавление «Индексы опций FollowSymLinks MultiViews Includes ExecCG» сработало! Спасибо !

Deepak Thomas 14.09.2019 12:11
Ответ принят как подходящий

Вам не нужно

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 Это должен быть правильный ответ. избавил меня от головной боли.

Tomer 25.06.2013 22:18

Большой. Вы мне очень помогли.

Alexey Sidash 22.09.2013 21:34

В моем случае мне все еще нужен Options Indexes FollowSymLinks MultiViews

krivar 26.03.2014 15:00

Чтобы уточнить, это ответ на ответ @ cloudwhale, да? связь

Doug McLean 01.05.2015 13:07

Я использую xampp в Windows server 2012, написано «требуется все предоставлено», но все равно проблема.

151291 14.06.2018 03:32

У меня была такая же проблема. У меня есть внешний жесткий диск в моей системе Windows 10 и путь к нему F. Пока я пытался создать виртуальный хост с DocumentRoot «F: / htdocs», я получал ту же ошибку. Это решение решает мою проблему.

Hasanuzzaman Sattar 26.09.2020 12:32

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

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.

Другие вопросы по теме