我正在尝试为 Outlook 和 Thunderbird 自动配置创建一个站点,在这两种情况下,它们都使用特定的子域来提取配置 xml。
您需要在 DNS 中创建以下条目
autodiscover.example.com
autoconfig.example.com
然后在 apache 中,您必须在端口 80 中创建一个虚拟主机,并在端口 443 中创建另一个虚拟主机(Outlook 仅使用 https)
<VirtualHost *:80>
ServerAdmin webmaster@localhost
ServerName autodiscover.example.com
ServerAlias autoconfig.example.com autodiscover.* autoconfig.*
DocumentRoot /var/www/mail_discover
<Directory /var/www/mail_discover>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
笔记:只能在 ServerAlias 条目中使用通配符,而不能在 ServerName 中使用通配符(Apache 网站)
答案1
这个问题的主要问题和最初提出此条目的原因是 apache 中有多个通配符。Apache 按严格顺序匹配,例如:
0_vhost1.conf -> ServerAlias *.example.com
vhost2.conf -> ServerAlias webmail.example.com
它将始终匹配 0_vhost1 中的条目