Я пытаюсь настроить свою машину разработчика с виртуальными хостами, чтобы я мог получить доступ к своим проектам разработки с помощью простого 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 установлена правильно (и не закомментирована)? Этот шаг необходим для правильной работы любых виртуальных хостов на основе имен.
Вот есть дополнительная информация по теме.