У меня есть настройки httpd-vhosts.conf
со следующими директивами:
UseCanonicalName Off
LogFormat "%V %h %l %u %t \"%r\" %s %b" vcommon
CustomLog logs/access_log vcommon
<VirtualHost 192.168.1.100:80>
VirtualDocumentRoot "E:/Web Development Projects/%3/%2.1/%2+"
DirectoryIndex index.php index.html index.htm default.html default.htm home.html default.php home.php
</VirtualHost>
<VirtualHost 192.168.1.100:443>
SSLEngine On
SSLCertificateFile "E:/Web Development Projects/SSL/apache.crt"
SSLCertificateKeyFile "E:/Web Development Projects/SSL/apache.key"
VirtualDocumentRoot "E:/Web Development Projects/%3/%2.1/%2+"
DirectoryIndex index.php index.html index.htm default.html default.htm home.html default.php home.php
</VirtualHost>
Но, к сожалению, мой локальный веб-сервер возвращает сообщение «403 Доступ запрещен».
Обратите внимание, что эта же конфигурация была установлена на другом компьютере и работает нормально.
Что-то не так с этой настройкой?
Может кто-нибудь мне помочь?
Примечание: Моя файловая структура E:/Web Development Projects/tld/i/domain.tld/
где
tld
мой локальный домен верхнего уровня (dch)i
это начальное доменное имяdomain.tld
это доменное имя проектаЭто позволяет мне иметь следующую структуру файловой системы
E:\
Web Development Projects\
dch\
a\
a-project.dch\
Files
another-project.dch\
Files
\z
z-project.dch\
Files
ОБНОВЛЕНИЕ # 1
Я просто применил инструкции ниже, но Apache все равно не запускается.
Вот мой httpd-vhosts.conf
с модификациями:
UseCanonicalName Off
LogFormat "%V %h %l %u %t \"%r\" %s %b" vcommon
CustomLog logs/access_log vcommon
<VirtualHost 192.168.1.100:80>
VirtualDocumentRoot "E:/Web Development Projects/%3/%2.1/%2+"
DirectoryIndex index.php index.html index.htm default.html default.htm home.html default.php home.php
<Directory "E:/Web Development Projects/">
Order deny, allow
Require all granted
</Directory>
</VirtualHost>
<VirtualHost 192.168.1.100:443>
SSLEngine On
SSLCertificateFile "E:/Web Development Projects/SSL/apache.crt"
SSLCertificateKeyFile "E:/Web Development Projects/SSL/apache.key"
VirtualDocumentRoot "E:/Web Development Projects/%3/%2.1/%2+"
DirectoryIndex index.php index.html index.htm default.html default.htm home.html default.php home.php
</VirtualHost>
Но это результат сервера:
Error: Apache shutdown unexpectedly.
This may be due to a blocked port, missing dependencies,
improper privileges, a crash, or a shutdown by another method.
Press the Logs button to view error logs and check
the Windows Event Viewer for more clues
If you need more help, copy and post this
entire log window on the forums
Любая дополнительная информация, пожалуйста?
Попробуйте добавить acl в конфигурацию Virtualhost, возможно, какая-то глобальная директива запрещает доступ:
<Directory "E:/Web Development Projects/">
Order deny, allow
Require all granted
</Directory>
Если версия apache <= 2.4, замените «Требовать все предоставлено» на «Разрешить от всех».
Надеюсь, поможет.
В интересах других у меня тоже была эта проблема, и мои решения были другими:
1) Убедитесь, что у вас нет .htaccess или включенных файлов conf из httpd.conf (или аналогичных), отменяющих любые директивы. Прокомментируйте любые include
директивы, чтобы быть уверенным.
2) Вы пытаетесь обслуживать контент из своего /home
каталог? Не надо. Или, если нужно, установите chmod -R +x
в вашем домашнем каталоге.