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

VirtualHosts + поддомены с подстановочными знаками DNS

Я полный Linux и серверный нуб, но я начал проект, пытаясь научиться. Что я сейчас пытаюсь сделать, так это заставить работать поддомены с подстановочными знаками.

В моем файле vhost (sites-available) у меня есть:

<VirtualHost *.80>
ServerName domain.com
ServerAlias www.domain.com domain.com *.domain.com

и т.д..

В настройках DNS моего регистратора доменов у меня есть запись A для @, www и *, указывающая на IP-адрес моего сервера. Теперь, насколько мне известно, это должно работать, однако, когда я захожу в свой браузер и просматриваю * .domain.com, появляется текст apache по умолчанию «Это работает!», Когда я перехожу прямо на domain.com, я вижу моя веб-страница (которую я тоже хочу отображать для * .domain.com).

Любая помощь будет принята с благодарностью! Я, наверное, упускаю что-то ослепительно очевидное, но я новичок :)

я никогда не знаю о написании такой опции ServerAlias

ServerAlias www.domain.com domain.com *.domain.com

Если вы хорошо справились с конфигурацией dns, попробуйте создать конфигурацию vhost для реального домена (домен по умолчанию), затем создайте другую конфигурацию vhost для подстановочного знака после всей конфигурации vhost реального домена.

<VirtualHost *:80>
DocumentRoot "/var/www/html/abc"
ServerName www.abc.com
ServerAlias www.abc.com
</VirtualHost>

<VirtualHost *:80>
DocumentRoot "/var/www/html/abc"
ServerAlias *.abc.com
</VirtualHost>

Попробуй это

NameVirtualHost *:80 # enable name virtualhosting
<VirtualHost *:80>  # :80, not .80
   ServerName domain.com
   ServerAlias *.domain.com # www.domain.com matches *.domain.com
   ...
</VirtualHost>

Да ладно, забыл перезапустить apache.