Мудрые доменные страницы по умолчанию без виртуального хостинга на Apache 2
У меня есть почтовый сервер, который размещает электронную почту для нескольких доменов и предоставляет услуги веб-почты. Для каждого из доменов была создана запись A (mail.domain-name.com), которая указывает на этот сервер. Сервер запускает веб-сервер Apache. Как я могу обслуживать разные веб-страницы по умолчанию (например, index.html) для каждого из имен хостов без настройки виртуальных хостов? Идея состоит в том, чтобы позволить пользователям попасть на страницу приветствия для конкретного домена, которая затем дала бы им ссылку на общие веб-интерфейсы почты и другие службы на сервере. Например,
http://mail.domain1.com/ должен обслуживать index1.html
http://mail.domain2.com/ должен обслуживать index2.html
http://mail.domain3.com/ должен обслуживать index3.html
и так далее, где эти страницы находятся под одним корнем документа.
Благодарю.
1 ответ
Вместо использования index.html используйте индексную страницу серверного языка сценариев (например, PHP). Сценарий может определять имя хоста, используемое из заголовков HTTP, и отображать правильную информацию.
Для PHP переменная вам нужна $_SERVER['HTTP_HOST']
Кроме того, вы можете следовать документации Apache для создания динамических виртуальных хостов, используя правила перезаписи. Вот их пример:
RewriteEngine on
RewriteMap lowercase int:tolower
RewriteCond ${lowercase:%{HTTP_HOST}} ^www\.([^.]+)\.example\.com$
RewriteRule ^(.*) /home/%1/www$1