情景1
需求:
www.a.com使用g:/www/www.a.com/
bbs.a.com使用g:/www/bbs.a.com/
shanghai.a.com使用g:/www/city.a.com/shangehai/
beijing.a.com使用g:/www/city.a.com/beijing/
解决方案:
步骤1:在域名服务商那边先设置好泛解析*.a.com指向服务器IP
步骤2:在apache配置文件加
NameVirtualHost *:80
<VirtualHost *:80>
DocumentRoot "G:/www/www.a.com"
ServerName www.a.com
</VirtualHost>
<VirtualHost *:80>
DocumentRoot "G:/www/bbs.a.com"
ServerName bbs.a.com
</VirtualHost>
<VirtualHost *:80>
DocumentRoot "G:/www/city.a.com"
ServerName city.a.com
ServerAlias *.a.com
rewriteengine on
rewritecond %{HTTP_HOST} ([^(www|bbs|city)][^.]+)\.a\.com$
rewriterule ^(.+)$ %{HTTP_HOST}$1 [C]
rewriterule ^([^.]+)\.a\.com(.*)$ /$1$2
</VirtualHost>
注意:city.a.com虚拟主机要写在后面,让www和bbs优先级更高。
这个方案也可以达到配置一次,以后目录即建即用。
情景2
需求:
www.a.com使用g:/www/www.a.com/
bbs.a.com使用g:/www/bbs.a.com/
shanghai.a.com使用g:/www/city.a.com/
beijing.a.com使用g:/www/city.a.com/
解决方案:
步骤1:在域名服务商那边先设置好泛解析*.a.com指向服务器IP
步骤2:在apache配置文件加
NameVirtualHost *:80
<VirtualHost *:80>
DocumentRoot "G:/www/www.a.com"
ServerName bbs.a.com
ServerAlias www.a.com
</VirtualHost>
<VirtualHost *:80>
DocumentRoot "G:/www/bbs.a.com"
ServerName bbs.a.com
ServerAlias bbs.a.com
</VirtualHost>
<VirtualHost *:80>
DocumentRoot "G:/www/city.a.com"
ServerName city.a.com
ServerAlias *.a.com
</VirtualHost>
注意:city.a.com虚拟主机要写在后面,让www和bbs优先级更高。