本文涵盖了Apache服务器中常用的vhost配置方法,由于时间关系不在文中进行讲解,仅供参考。
注意:如果虚拟主机的端口不是默认的80,则比如添加额外的Listen <端口号>指令。
此处以Apache2.4为例:
Listen 6001
Listen 6003
#NameVirtualHost *:6001
#NameVirtualHost *:6003
<VirtualHost *:6001>
DocumentRoot "/data/svc/www"
ServerName localhost
<Directory "/data/svc/www">
Options Indexes
Order allow,deny
Allow from all
</Directory>
ErrorLog "logs/port_6001-error.log"
CustomLog "logs/port_6001-access.log" common
</VirtualHost>
<VirtualHost *:6003>
DocumentRoot "/data/qy/www"
ServerName localhost
<Directory "/data/qy/www">
Options Indexes
Order allow,deny
Allow from all
</Directory>
ErrorLog "logs/port_6003-error.log"
CustomLog "logs/port_6003-access.log" common
</VirtualHost>
-------------------------------------------------------------------------------------
注意:有时如果httpd.conf主配置文件先前没有设定,可能会遇到“Forbidden You don't have permission to access / on this server.”的错误提示,此时需要修改httpd.conf配置文件,修改如下:
<Directory />
Options Indexes FollowSymLinks
AllowOverride all
Order deny,allow
Allow from all
</Directory>
-------------------------------------------------------------------------------------
#
# Virtual Hosts
#
# If you want to maintain multiple domains/hostnames on your
# machine you can setup VirtualHost containers for them. Most configurations
# use only name-based virtual hosts so the server doesn't need to worry about
# IP addresses. This is indicated by the asterisks in the directives below.
#
# Please see the documentation at
# <URL:http://httpd.apache.org/docs/2.2/vhosts/>
# for further details before you try to setup virtual hosts.
#
# You may use the command line option '-S' to verify your virtual host
# configuration.
#
# Use name-based virtual hosting.
#
NameVirtualHost *:80
#
# VirtualHost example:
# Almost any Apache directive may go into a VirtualHost container.
# The first VirtualHost section is used for all requests that do not
# match a ServerName or ServerAlias in any <VirtualHost> block.
#
<VirtualHost *:80>
ServerAdmin dgdenterprise@gmail.com
DocumentRoot "C:/WANMP/apps/web1.vtest.org"
ServerName web1.vtest.org
# ServerAlias web1.vtest.org
<Directory "C:/WANMP/apps/web1.vtest.org">
Options Indexes
Order allow,deny
IndexOptions Name Charset=UTF-8
Allow from all
</Directory>
ErrorLog "logs/web1.vtest.org-error.log"
CustomLog "logs/web1.vtest.org-access.log" common
</VirtualHost>
<VirtualHost *:80>
ServerAdmin dgdenterprise@gmail.com
DocumentRoot "C:/WANMP/apps/web2.vtest.org"
ServerName web2.vtest.org
ErrorLog "logs/web2.vtest.org-error.log"
CustomLog "logs/web2.vtest.org-access.log" common
</VirtualHost>
<VirtualHost *:80>
ServerAdmin dgdenterprise@gmail.com
DocumentRoot "C:/WANMP/apps/bbs.vtest.org"
ServerName bbs.vtest.org
ErrorLog "logs/bbs.vtest.org-error.log"
CustomLog "logs/bbs.vtest.org-access.log" common
<Directory C:\WANMP\apps\bbs.vtest.org/ >
Options FollowSymLinks
AllowOverride All
# Order deny,allow
# Deny from all
RewriteEngine On
RewriteBase /
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^topic-(.+)\.html$ portal.php?mod=topic&topic=$1&%1
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^article-([0-9]+)-([0-9]+)\.html$ portal.php?mod=view&aid=$1&page=$2&%1
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^forum-(\w+)-([0-9]+)\.html$ forum.php?mod=forumdisplay&fid=$1&page=$2&%1
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^thread-([0-9]+)-([0-9]+)-([0-9]+)\.html$ forum.php?mod=viewthread&tid=$1&extra=page\%3D$3&page=$2&%1
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^group-([0-9]+)-([0-9]+)\.html$ forum.php?mod=group&fid=$1&page=$2&%1
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^space-(username|uid)-(.+)\.html$ home.php?mod=space&$1=$2&%1
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^blog-([0-9]+)-([0-9]+)\.html$ home.php?mod=space&uid=$1&do=blog&id=$2&%1
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^archiver/(fid|tid)-([0-9]+)\.html$ archiver/index.php?action=$1&value=$2&%1
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^([a-z]+[a-z0-9_]*)-([a-z0-9_\-]+)\.html$ plugin.php?id=$12&%1
</Directory>
</VirtualHost>
<VirtualHost *:80>
ServerAdmin dgdenterprise@gmail.com
DocumentRoot "C:/WANMP/apps/sns.vtest.org"
ServerName sns.vtest.org
ErrorLog "logs/sns.vtest.org-error.log"
CustomLog "logs/sns.vtest.org-access.log" common
</VirtualHost>
<VirtualHost *:80>
ServerAdmin dgdenterprise@gmail.com
DocumentRoot "C:/WANMP/apps/www.vtest.org"
ServerName www.vtest.org
ErrorLog "logs/www.vtest.org-error.log"
CustomLog "logs/www.vtest.org-access.log" common
</VirtualHost>
<VirtualHost *:80>
ServerAdmin dgdenterprise@gmail.com
DocumentRoot "C:/WANMP/apps/sql.vtest.org"
ServerName sql.vtest.org
ErrorLog "logs/sql.vtest.org-error.log"
CustomLog "logs/sql.vtest.org-access.log" common
</VirtualHost>
<VirtualHost *:80>
ServerAdmin dgdenterprise@gmail.com
DocumentRoot "C:/WANMP/apps/dns.vtest.org"
ServerName dns.vtest.org
ErrorLog "logs/dns.vtest.org-error.log"
CustomLog "logs/dns.vtest.org-access.log" common
</VirtualHost>
<VirtualHost *:80>
ServerAdmin dgdenterprise@gmail.com
DocumentRoot "C:/WANMP/apps/php.vtest.org"
ServerName php.vtest.org
ErrorLog "logs/php.vtest.org-error.log"
CustomLog "logs/php.vtest.org-access.log" common
</VirtualHost>
<VirtualHost *:80>
ServerAdmin dgdenterprise@gmail.com
DocumentRoot "C:/WANMP/apps/tmp.vtest.org"
ServerName file.vtest.org
ErrorLog "logs/file.vtest.org-error.log"
CustomLog "logs/file.vtest.org-access.log" common
<Directory "C:/WANMP/apps/tmp.vtest.org">
Options Indexes
Order allow,deny
IndexOptions Name Charset=UTF-8
Allow from all
</Directory>
</VirtualHost>
<VirtualHost *:80>
ServerAdmin dgdenterprise@gmail.com
ServerName proxy.vtest.org
ProxyPass / http://172.16.169.52/
ProxyPassReverse / http://172.16.169.52/
ErrorLog "logs/proxy.vtest.org-error.log"
CustomLog "logs/proxy.vtest.org-access.log" common
</VirtualHost>
<VirtualHost *:80>
ServerAdmin dgdenterprise@gmail.com
ServerName main.deploy.elp
DocumentRoot "C:/WANMP/apps/main.vtest.org"
# LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %b" vhostcommon
CustomLog logs/main.deploy.elp-access.log vhostcommon
ErrorLog "logs/main.deploy.elp-error.log"
</VirtualHost>
tag:apache,虚拟主机配置, 虚拟主机,添加vhost
--end--