Apache 2 上无需虚拟托管的域默认页面

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

相关内容