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

原文地址:https://www.cnblogs.com/zhepama/p/3551443.html