
Похоже, у меня возникла небольшая проблема с настройкой поддомена в Apache под CentOS.
У меня есть следующее:
NameVirtualHost *:80
<VirtualHost *>
ServerName www.domain.co.uk
ServerAlias domain.co.uk dev.domain.co.uk
DocumentRoot "/var/www/html/domain/web"
DirectoryIndex index.php
Alias /sf /var/www/html/symfony14/web/sf
<Directory "/var/www/html/domain/web">
AllowOverride All
Allow from All
</Directory>
</VirtualHost>
<Directory "/var/www/html/symfony14/web/sf">
AllowOverride All
Allow from All
</Directory>
<VirtualHost *>
ServerName test.domain.co.uk
DocumentRoot "/var/www/html/domain_test/web"
DirectoryIndex index.php
Alias /sf /var/www/html/symfony14/web/sf
<Directory "/var/www/html/domain_test/web">
AllowOverride All
Allow from All
</Directory>
</VirtualHost>
Таким образом, при переходе на www.domain.co.uk и domain.co.uk отображается содержимое из /var/www/html/domain, а при переходе на test.domain.co.uk также отображается содержимое той же папки.
Это из-за ServerAlias
?
Спасибо
ОБНОВЛЕНО:
Добавлена отсутствующая директиваNameVirtualHost *:80
решение1
Попробуйте поместить NameVirtualHost *:80
в первую строку вашего конфигурационного файла.
Вы можете настроить поддомен с помощьювиртуальный хост на основе именизаписи в httpd.conf. Для использования виртуального хостинга на основе имени необходимо указать IP-адрес (и, возможно, порт) на сервере, который будет принимать запросы для хостов. Это настраивается с помощьюИмяVirtualHostдиректива.
Для получения более подробной информации см.Конфигурация поддомена.
решение2
Ну, они должны отображать один и тот же контент, поскольку DocumentRoot один и тот же.
Я полагаю, что для тестового домена это должно было быть DocumentRoot "/var/www/html/domain_test/web"
вместоDocumentRoot "/var/www/html/domain/web"