Я хотел бы создать два поддомена для своего сайта. Для этого я создал три VirtualHosts в моем файле по умолчанию
в разделе sites-available (я использую Apache в Ubuntu):
<VirtualHost 127.0.0.1>
ServerName nmagerko.me
...
DocumentRoot /var/www
...
</VirtualHost>
<VirtualHost 127.0.0.1>
ServerName sub1.nmagerko.me
...
DocumentRoot /some/different/path
...
</VirtualHost>
<VirtualHost 127.0.0.1>
ServerName sub2.nmagerko.me
...
DocumentRoot /some/different/path2
...
</VirtualHost>
Однако я не уверен, что делать после этого момента. У меня есть каждый из этих поддоменов и мой основной домен в моем файле / etc / hosts
как 127.0.0.1
, и я установил записи A для sub1
и ] sub2
в редакторе домена моего регистратора доменов. Однако эти записи A указывают на тот же IP-адрес, что и мой основной домен, поскольку все это размещается в одной системе ... что не очень полезно. Итак, когда я перехожу к sub1.nmagerko.me
в моем браузере, я получаю тот же сайт, что и у меня, как если бы я перешел на nmagerko.me
.
Есть предложения по дальнейшим действиям?
Хм, конфигурация, которую вы написали, мне кажется правильной, поэтому я постараюсь показать вам, как отладить проблему:
1- Убедитесь, что DNS правильно настроен, выполняя копать nmagerko.me
, копать sub1.nmagerko.me
и копать sub2.nmagerko.me
и искать IP. Используйте wget X.nmagerko.me
для тестирования, браузер может кэшировать ответы DNS.
2- Убедитесь, что файлы в / some / different / path
, / var / www
и / some / different / pat2
разные.
3- Убедитесь, что вы перезапускаете apache с помощью
sudo service apache2 restart
Кроме того, вы можете посмотреть в журналах тоже.
Надеюсь на эту помощь.
Попробуйте изменить IP-адрес только на порт 80 во всех случаях:
<VirtualHost *:80>
ServerName nmagerko.me
...
DocumentRoot /var/www
...
</VirtualHost>
Это может помочь решить проблему, когда виртуальный хост прослушивает только внутренний (локальный) трафик. Поскольку вы устанавливаете записи A для своих доменов, я предполагаю, что вы используете общедоступный сервер?
Не забудьте перезагрузить apache после любого изменения файла conf:
$ sudo service apache2 reload
Наконец, сообщите нам об этом. просто тестируешь локально. Если это так, вам, вероятно, не нужно изменять запись A вашего домена (если вы не размещаете свой собственный частный DNS?).
Вы используете общедоступный сервер?Не забудьте перезагрузить apache после любого изменения файла conf:
$ sudo service apache2 reload
Наконец, дайте нам знать, что вы тестируете только локально. Если это так, вам, вероятно, не нужно изменять запись A вашего домена (если вы не размещаете свой собственный частный DNS?).
Вы используете общедоступный сервер?Не забудьте перезагрузить apache после любого изменения файла conf:
$ sudo service apache2 reload
Наконец, дайте нам знать, что вы тестируете только локально. Если это так, вам, вероятно, не нужно изменять запись A вашего домена (если вы не размещаете свой собственный частный DNS?).
Без всего httpd.conf (включая включенные) отсюда невозможно сказать, но добавив
NameVirtualHost 127.0.0.1:80
над вашим первым <домен virtualHost: 80>
может помочь? После изменения перезапустите apache.