Я полный 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.