apache 泛域名配置
在虚拟主机中添加
<VirtualHost *:80> ServerAdmin admin@163.com DocumentRoot D:/AppServ/www/Extdomain ServerName sdomain.com ServerAlias *.sdomain.com <IfModulemod_php5.c> rewriteengine on rewritecond %{HTTP_HOST} [^.]+\.sdomain\.com$ rewriterule ^(.+)$ %{HTTP_HOST}$1 [C] rewriterule ^([^.]+)\.sdomain\.com(.*)$ /$1$2 </IfModule></VirtualHost>
这个配置应该不会陌生吧,里面就是多加了一个重写的功能(IfModule这块),到此虚拟主机中设置成功了,在本地测试,还得指定自己的IP到自己的域上,如hosts文件中加入:
192.168.1.101 a.sdomain.com (D:/AppServ/www/Extdomain/a 目录)192.168.1.101 b.sdomain.com (D:/AppServ/www/Extdomain/b 目录)192.168.1.101 c.sdomain.com (D:/AppServ/www/Extdomain/c 目录)192.168.1.101 www.sdomain.com (D:/AppServ/www/Extdomain/www 目录)192.168.1.101 sdomain.com (D:/AppServ/www/Extdomain/目录)
这里注意最后两个, 因为虚拟机里面的重写规则, 所以才会有这样子的现象,当然大家也可以在规则中做一些判断来重新定义www.sdomain.com的目录