Apache中设置虚拟主机时,ServerName设置不支持扩展符,故若需支持泛域名解析,应用Serveralias 进行配置。
如何设置apache虚拟主机,请参考文章:
下面开始今天的主题,在虚拟主机中设置泛域名解析。
一、原因
通常情况下,虚拟主机中是用ServerName来的设定对应域名的,如下:
# pwd
/etc/httpd/conf/
# cat vhost_domain.conf
# VirtualHost for linuxFly Test
ServerName mail.linuxfly.org
DocumentRoot /var/www/jbxue/extmail/html/
ScriptAlias /extmail/cgi/ /var/www/jbxue/extmail/cgi/
Alias /extmail /var/www/jbxue/extmail/html/
ScriptAlias /extman/cgi/ /var/www/jbxue/extman/cgi/
Alias /extman /var/www/jbxue/extman/html/
# Suexec config
SuexecUserGroup vuser vgroup
但很多时候,我们设置的Apache虚拟主机可能会接收多个域名的访问请求。例如,mail.linuxfly.org、smtp.linuxfly.org 等都指向同一个虚拟主机,也就是说,当我们访问上述任一域名时,应看到同样的内容(应用本身有对域名限制的除外)。www.jb200.com 脚本学堂
这时,就应用ServerAlias 增加别名设定。
二、ServerAlias 的配置
1、支持多域名
例如,让mail.linuxfly.org、smtp.linuxfly.org、pop3.linuxfly.org 都指向同一个虚拟主机,可以写成:
ServerName 用于指定首选域名,其他的域名用ServerAlias指定,并用空格区分即可。
2、支持泛域名解析
ServerAlias 可支持扩展符,例如,希望 linuxfly.org 下的所有二级子域名都能用同一个虚拟主机解析,可以设成:
保存配置后,重新加载apache 配置文件: