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

Могу ли я автоматически создавать поддомены на определенном домене для всех VirtualHosts?

Если у меня следующая конфигурация Apache и подстановочный знак *. s1.ex.com, указывающий на сервер

<VirtualHost *>
ServerName example.com
DocumentRoot /var/www/example.com
</VirtualHost>

<VirtualHost *>
ServerName example.net
DocumentRoot /home/user2/web/example.net
</VirtualHost>

Возможно ли автоматическое получение доменов example.com.s1.ex.com example.net.s1.ex.com автоматически указывать на их соответствующий виртуальный хост?

Изменить: я ищу решение, которое автоматически делает то же самое, как если бы я добавил ServerAlias ​​вручную.

Вы можете добавить ServerAlias:

<VirtualHost *>
ServerName example.com
ServerAlias example.com.s1.ex.com
DocumentRoot /var/www/example.com
</VirtualHost>

<VirtualHost *>
ServerName example.net
ServerAlias example.net.s1.ex.com
DocumentRoot /home/user2/web/example.net
</VirtualHost>

Я думаю ты хочешь mod_vhost_alias.

LoadModule vhost_alias_module /usr/lib/apache2/modules/mod_vhost_alias.so
<VirtualHost *>
  VirtualDocumentRoot /var/www/%-5.0.%-4
</VirtualHost>

example.com.s1.ex.com теперь обслуживается из /var/www/example.com.