На моем Vserver я хотел бы настроить поддомен. Итак, у меня есть следующие записи в моей конфигурации apache vhost. Я хочу иметь свой сайт app1.example.com
для запуска как собственного сайта, чтобы страницы и файлы имели домен, например app1.example.com/photo.jpg
или app1.example.com/blog/
.
<VirtualHost *:80>
DocumentRoot /var/www/app1
ServerName app1.example.com
<VirtualHost>
<VirtualHost *:80>
DocumentRoot /var/www/example
ServerName example.com
<VirtualHost>
<VirtualHost *:80>
DocumentRoot /var/www/wildcard
ServerName other.example.com
ServerAlias *.example.com
<VirtualHost>
Но Зачем мне дополнительно нужен такой DNS? Разве я не установил это уже в моей конфигурации vhost?
Host Type Destination
app1 A 78.xx.xx.xx (my IP)
* A 78.xx.xx.xx
Или мне нужно указать пункт назначения в такой каталог: app1.example.com Спасибо за совет!
Если у вас есть запись с подстановочными знаками, указывающая на IP-адрес вашего поддомена, вам не понадобится более конкретная app1
Запись, об этом позаботится подстановочный знак. Браузер пользователя отправляет:
Host: app1.example.com
Когда он делает запрос для этого домена, именно так Apache узнает, какой домен нужен клиенту. Запись с подстановочными знаками скажет браузеру отправить этот запрос на ваш сервер.
Хм, я думаю, что, возможно, часть проблемы заключается в использовании '=' при установке DocumentRoot. Если это не какой-то альтернативный синтаксис, который редко используется, документация apache, кажется, рекомендует использовать что-то вроде DocumentRoot / foo / bar, где / foo / bar - это корень документа, который вы хотите. Видеть http://httpd.apache.org/docs/2.1/mod/core.html#documentroot . Что касается вашей проблемы с DNS, браузер пользователя отправит заголовок хоста, который, если вы правильно настроили директиву NameVirtualHosts, приведет к использованию директивы VirtualHost с соответствующим ServerName или ServerAlias. Вы можете настроить свой DNS-сервер с использованием подстановочного знака «*» или определенных записей, либо того и другого - браузер по-прежнему будет отправлять соответствующий заголовок хоста.