Я борюсь с этим весь день, и здесь я тоже не нашел ответа. Пожалуйста, посоветуйте, как правильно настроить нужный мне поддомен.
В моей конфигурации Apache настроено 2 домена (на одном IP), для домена domain2.com мне нужно настроить поддомен. Вот что у меня есть до сих пор, но поддомен продолжает перенаправлять меня на domain2.com (основной сайт).
<VirtualHost 11.11.11.11:80>
ServerName domain1.com
ServerAlias domain1.com *.domain1.com
DocumentRoot "C:/wwwmap/domain1.com"
</VirtualHost>
<VirtualHost 11.11.11.11:80>
ServerName domain2.com
ServerAlias domain2.com *.domain2.com
DocumentRoot "C:/wwwmap/domain2.com"
</VirtualHost>
<VirtualHost 46.4.24.4:80>
ServerName projects.domain2.com
DocumentRoot "C:/wwwmap/projects"
</VirtualHost>
Запись DNS: проекты в CNAME domain2.com
Попытка удалить ServerAlias domain2.com * .domain2.com пока работала, но затем domain2.com перенаправляется на domain1.com
Что я делаю не так?
Виртуальный хост projects.domain2.com должен быть определен перед виртуальным хостом с доменом захвата с подстановочными знаками, тогда он будет работать.
<VirtualHost 11.11.11.11:80>
ServerName domain1.com
ServerAlias *.domain1.com
DocumentRoot "C:/wwwmap/domain1.com"
</VirtualHost>
<VirtualHost 11.11.11.11:80>
ServerName projects.domain2.com
DocumentRoot "C:/wwwmap/projects"
</VirtualHost>
<VirtualHost 11.11.11.11:80>
ServerName domain2.com
ServerAlias *.domain2.com
DocumentRoot "C:/wwwmap/domain2.com"
</VirtualHost>
Вы должны использовать что-то вроде этого:
NameVirtualHost *:80
<VirtualHost *:80>
ServerName domain1.com
ServerAlias domain1.com *.domain1.com
DocumentRoot "C:/wwwmap/domain1.com"
</VirtualHost>
<VirtualHost *:80>
ServerName domain2.com
ServerAlias domain2.com *.domain2.com
DocumentRoot "C:/wwwmap/domain2.com"
</VirtualHost>
При такой настройке заголовка Host:, который отправляет ваш браузер, будет достаточно, чтобы различать разные записи. Вы можете использовать что-то другое, кроме "*: 80", но это базовая конфигурация, которая абсолютно должен работай.
Если раньше у вас было перенаправление с одного домена на другой, вы все равно можете сохранить это прямое кеширование в вашем браузере. Попробуйте очистить кеш.