Я хочу любой домен чтобы указать CNAME на моем виртуальном хосте одновременно для этого я используюнесколько псевдонимов для нескольких виртуальных хоста одновременно HTTPd
ServerAlias *
в моем виртуальном хосте одновременно, но он работает только с одной виртуальным хостом, если добавить его в обеих CNAME указала на второй призрак, который доставляет удовольствие от первого vhost.
e.g:
1st: files.domain.com CNAME to files.example.com
2nd: r.domain.com CNAME to r.example.com
но второй один также служит files.example.com
Мои httpd.conf имеет эти два виртуальных доменов
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot /var/www/files.example.com
ServerName files.example.com
ErrorLog /var/www/files.example.com/logs/error_log
CustomLog /var/www/files.example.com/logs/custom_log common
<Directory "/var/www/files.example.com">
Options FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot /var/www/r.example.com
ServerName r.example.com
ErrorLog /var/www/r.example.com/logs/error_log
CustomLog /var/www/r.example.com/logs/custom_log common
<Directory "/var/www/r.example.com">
Options FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
это работает только для данного ServerAlias. но я хочу, чтобы любой домен указывал CNAME. –
CNAME и Vhosts полностью разделены. Apache не знает, добавите CNAME в DNS. вы можете добавить * .domain.com CNAME к файлам.example.com , а затем определить по умолчанию vhost сначала в apache, а затем другие, такие как file.domain.com. Затем вы получаете дефолтный хост во всех других доменах, чем files.domain.com –
Ну, я получил его, назначив отдельный ip для этого vhost и используя * в ServerAlias. он работал, как я ожидал –