Apache同样具有多站点设置的功能,这种设置也是基于配置文件(x:\Apache\conf\httpd.conf),相比起来也并不复杂,同IIS设置多站点一样,Apache也具有使用类似主机头进行多站点设置的功能,实际上称为网站别名,只要在配置文件中的最后一行输入如下内容即可,
一、多个站点设置,
NameVirtualHost *:80
<virtualhost *:80>
ServerName www.a.com
DocumentRoot www/one
</virtualhost>
<virtualhost *:80>
ServerName www.b.com
DocumentRoot www/two
</virtualhost>
二、多个虚拟目录的设置,只要增加多条同样的字段就可以了。
Alias /test "E:\www"
<Directory "E:\www">
AllowOverride All
Options Indexes FollowSymLinks Includes
Order allow,deny
Allow from all
</Directory>
配置文件的内容为添加名为test的虚拟目录,并指向E:\www目录,其余配置信息一般采用默认即可。
三、多端口设置,
找到Listen配置行下面加:Listen 8080
<virtualhost *:8080>
ServerName www.c.com
DocumentRoot www/newport
</virtualhost>
总结:以上方法可以灵活运用。
NameVirtualHost *:81
#
# VirtualHost example:
# Almost any Apache directive may go into a VirtualHost container.
# The first VirtualHost section is used for requests without a known
# server name.
#
<VirtualHost *:81>
DocumentRoot F:/IdeaProjects/cms/WebContent/cms/ahjt
ServerName localhost,127.0.0.1,www.aaaa.com
ServerAlias www.aaaa.com
ErrorLog F:/IdeaProjects/cms/aaaa-error_log
CustomLog F:/IdeaProjects/cms/aaaa-error-access_log common
</VirtualHost>
<VirtualHost *:81>
DocumentRoot F:/IdeaProjects/cms/WebContent/cms/ahzj
ServerName localhost,127.0.0.1,www.bbbb.com
ServerAlias www.bbbb.com
ErrorLog F:/IdeaProjects/cms/bbbb-error_log
CustomLog F:/IdeaProjects/cms/bbbb-error-access_log common
</VirtualHost>
PS:配置多虚拟目录的时候,通常通过IP访问而非域名时,默认指向的是第一个配置的目录路径