Apache利用ServerAlias设置多个二级域名和泛域名
2013-08-15 11:05:53   来源:   浏览: 次

导读:前提条件: 已在域名服务提供商处或自己管理的DNS服务器上,将多个域名或A记录(如:i22 cc、www i22 cc 、bbs i22 cc ,blog i22 cc)指向

前提条件:

已在域名服务提供商处或自己管理的DNS服务器上,将多个域名或A记录(如:i22.cc、www.i22.cc 、bbs.i22.cc ,blog.i22.cc)指向同一个公网IP(如:166.166.23.89)

此例中,Apache中涉及到的相关选项说明:

NameVirtualHost *   (设定虚拟主机的ip)


ServerAdmin admin@domain.com          (设定虚拟主机的管理者信箱,不用和预设的网站管理者相同)
DocumentRoot /yourdir          (指定虚拟主机的网站主目录)
ServerName domain.com        (设定虚拟主机的名称,指定设定虚拟主机的UR)
ServerAlias www.domain.com      (设定虚拟主机的別名,例: WWW )
ErrorLog logs/domain.com_error_log     (虚拟主机发生错误时要记录在哪个目录,可不设.)

 

一、用于设置虚拟主机接收多个二级域名

一个虚拟主机常常会接收多个二级域名解析,比如:www.test.com, bbs.test.com,blog.test.com,对于这种情况,可以在用ServerAlias轻松做到

在Apache中的配置:
NameVirtualHost 166.166.23.89

ServerAdmin admin@test.com
DocumentRoot /yourdir
ServerName test.com
ServerAlias www.test.com blog.test.com
ServerAlias bbs.test.com
ErrorLog logs/test.com_error_log



二、 用于接收泛域名解析

一个虚拟主机是可以接收泛域名解析的,也是通过SeverAlias选项设置,通过设置该选项不仅可以接收二级泛域名解析,也可以接收三级、四级泛域名解析,具体设置如下:

ServerName "test.com" 默认域名
ServerAlias *.test.com 用*表示泛域名
如果要接收三级泛域名解析,可以写成这样:*.my.test.com
DocumentRoot "D:\wwwroot\test.com"

Options Indexes FollowSymLinks
AllowOverride all