apache 泛域名配置

在虚拟主机中添加

<VirtualHost *:80>

    ServerAdmin [email protected]

    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的目录

你可能感兴趣的:(apache)