个人测试平台搭建(DNS,域名泛解析,二级域名,Rwrite自动转向二级目录)

由于网站开发常常碰到大量的二级域名测试,每次都去HOST文件里改来改去,之后再去APACHE的httpd-vhosts.conf里改来改去..

经常长时间的煎熬,终于忍不了了..于是便有了下文:

一. 搭建个人DNS(Acrylic 官方下载)

1.下载安装好后,打开C:\Program Files\Acrylic DNS Proxy\AcrylicConfiguration.ini 更改

  ;主要DNS
  PrimaryServerAddress=221.228.255.1
  ;次要DNS
  SecondaryServerAddress=8.8.8.8
  ;次次要
  TertiaryServerAddress=218.2.135.1

2.C:\Program Files\Acrylic DNS Proxy\AcrylicHosts.txt 更改(支持泛解析)

127.0.0.1 *.sf.com sf.com

3.更改本地DNS为127.0.0.1

二. 在http-vhost.conf的虚拟主机下加

<VirtualHost *>
    <Directory "E:\WEB\wc1217">
        Options -Indexes FollowSymLinks
        Allow from all
        AllowOverride All
    </Directory>
    ServerAdmin admin@gt.cn
    DocumentRoot "E:\WEB\wc1217"
    ServerName sf.com
    ServerAlias *.sf.com
    ErrorLog logs/sf.cn-error_log
</VirtualHost>

三. 编写根目录.htaccess文件

<IfModule mod_rewrite.c>
  RewriteEngine on
  RewriteBase /
    #判断HTTP_HOST
    RewriteCond %{HTTP_HOST} ^([a-z0-9A-Z\-_\.]+).sf.com$
    #%1为引用第一个Cond的()值
    #判断是否在子目录下
    RewriteCond %{REQUEST_URI} !^/%1/
    #文件不存在
    RewriteCond %{REQUEST_FILENAME} !-f
    #目录不存在
    RewriteCond %{REQUEST_FILENAME} !-d
    #全部内容转向/%1/$1后中止
    RewriteRule ^(.*)$ /%1/$1 [L]
    #判断HTTP_HOST
    RewriteCond %{HTTP_HOST} ^([a-z0-9A-Z\-_\.]+).sf.com$
    #如果是/?(根目录)就跳转到%1(子域名)下.
    RewriteRule ^/?$ %1/ [L]
</IfModule>

大功造成..记得每次改完AcrylicHosts.txt之后要重启一下Acrylic服务.可用以下命令

net stop acryliccontroller
net start acryliccontroller

原文地址:https://www.cnblogs.com/wc1217/p/2391912.html