Назад | Перейти на главную страницу

Проблемы с Apache 2.2 localhost VirtualHosts

Я пытаюсь настроить свою машину разработчика с виртуальными хостами, чтобы я мог получить доступ к своим проектам разработки с помощью простого URL-адреса, например http: // project.dev/, а не всего http: // 127.0.0.1/dev/path/to/ корень / из / проекта / тип URL.

Я знаю, что есть много руководств и вопросов, на которые уже даны ответы по этому поводу, но, попробовав многие из них, я чувствую, что бегаю здесь по кругу.

Проблема проста: после настройки файла моих хостов и моих виртуальных хостов любая попытка доступа к виртуальным хостам безвозвратно отображает содержимое моего сервера DocumentRoot.

файл моих хостов:

127.0.0.1       localhost
127.0.0.1       mydomain.dev
255.255.255.255 broadcasthost
::1             localhost
fe80::1%lo0     localhost

мой httpd-vhosts.conf

NameVirtualHost *:80

<VirtualHost *:80>
    ServerName localhost
    DocumentRoot /Users/pilot/Sites/
</Virtualhost>

<VirtualHost *:80>
    ServerName mydomain.dev
    DocumentRoot /Users/pilot/Sites/devel/vytamin/dev/
</VirtualHost>

Я уточняю, что файл httpd-vhosts.conf загружен в мой httpd.conf, и я получаю предупреждение, если указываю корень документа виртуального хоста не в ту папку.

Я попытался настроить виртуальный хост localhost на следующее, но безуспешно.

<VirtualHost *:80>
    ServerName localhost
    DocumentRoot /Users/pilot/Sites/devel
</Virtualhost>

Все следующие URL-адреса отображают DocumentRoot моего сервера, определенного в моем файле httpd.conf, и, похоже, игнорируют DocumentRoot, определенный в моих VirtualHosts.

http:// 127.0.0.1/
http:// localhost/
http:// mydomain.dev/

Я использую Apache2.2 на Mac OSX 10.5 Leopard, но не тот, который поставляется с mac os. Я скомпилировал свой собственный в / usr / local / apache2, и общий доступ к сети отключен

Я не вижу ничего плохого в моей настройке, поэтому надеюсь, что сообщество это сделает! Спасибо за вашу помощь!

Хорошо, я нашел проблему!

Приведенная выше конфигурация прекрасна, просто мой apache не перезагружался должным образом. Ни то, ни другое apache_ctl graceful или apache_ctl restart завершал все процессы httpd, которые я выполнял, поэтому не мог должным образом перезагрузить изменения в моих файлах конфигурации. Как только я убил оставшиеся процессы и действительно перезапустил apache, все заработало ...

Решено, но я чувствую себя глупо, обнаружив это!

Теперь мне нужно решить проблему с демоном!

Это может показаться упрощенным, но перезапустили ли вы Apache после внесения этих изменений?

Изменить: Кроме того, это mydomain или mydomain.dev? Кажется, вы переключаетесь между ними.

Вы проверили, что директива Apache NameVirtualHost установлена ​​правильно (и не закомментирована)? Этот шаг необходим для правильной работы любых виртуальных хостов на основе имен.

Вот есть дополнительная информация по теме.