• Windows下Apache服务器中自动配置二级子域名


    今天我们介绍的这个办法,只需要简单修改 httpd-vhosts.conf 文件,配合 .htaccess 文件即可实现自动配置二级域名。
    
    我们这里以 wpchina.com 为例,以下代码中的 wpchina.com 都可以替换成你自己想要域名。
    
    我们的目标是,不同的子域名可以访问不同目录下的网站:
    
    
    wpchina.com => / ;
    
    home.wpchina.com => /home;
    
    bbs.wpchina.com => /bbs;
    
    …
    
     
    第一步,确认安装好 Apache 服务器,并支持 .htaccess 模块(需要开启mod_rewrite)。你可以参考这里或这里,或者直接下载XAMPP,默认支持此功能。 第二步,设置好二级域名。高级一点的可以在路由器里设置,如dd-wrt路由器支持域名泛解析,会很方便。简单一些的,直接修改hosts文件。 打开 C:WindowsSystem32driversetchosts 文件,在最后加入以下三行代码,并保存。Win7/Vista用户记得使用管理员权限编辑此文件,否则编辑后将无法保存。 
    127.0.0.1            wpchina.com
    
    127.0.0.1            home.wpchina.com
    
    127.0.0.1            bbs.wpchina.com
    
    
    
    第三步,在 httpd-vhosts.conf 文件中绑定 wpchina.com 域名。 首先取消 NameVirtualHost *:80 代码签名的 # 按照其中的样例,添加以下代码:
    <VirtualHost *:80>
    
        DocumentRoot "/xampp/htdocs/www/wpchina.com"
    
        ServerName wpchina.com
    
        ServerAlias *.wpchina.com
    
    </VirtualHost>  

    设置之后,重新启动 Apache 服务器。 第四步,在网站根目录 /xampp/htdocs/www/wpchina.com 下创建 .htaccess 文件,并添加以下代码:
    RewriteEngine on
    
    #让www.wpchina.com 访问根目录CMS
    
    RewriteCond %{HTTP_HOST} ^www.wpchina.com$
    
    RewriteCond %{REQUEST_URI} !^/
    
    RewriteCond %{REQUEST_FILENAME} !-f
    
    RewriteCond %{REQUEST_FILENAME} !-d
    
    RewriteRule ^(.*)$ /$1
    
    RewriteCond %{HTTP_HOST} ^www.wpchina.com$
    
    RewriteRule ^(/)?$ /index.php [L]
    
    #让home.wpchina.com 访问home目录
    
    RewriteCond %{HTTP_HOST} ^home.wpchina.com$
    
    RewriteCond %{REQUEST_URI} !^/home/
    
    RewriteCond %{REQUEST_FILENAME} !-f
    
    RewriteCond %{REQUEST_FILENAME} !-d
    
    RewriteRule ^(.*)$ /home/$1
    
    RewriteCond %{HTTP_HOST} ^home.wpchina.com$
    
    RewriteRule ^(/)?$ home/index.php [L]
    
    #让bbs.wpchina.com 访问bbs目录
    
    RewriteCond %{HTTP_HOST} ^bbs.wpchina.com$
    
    RewriteCond %{REQUEST_URI} !^/wap/
    
    RewriteCond %{REQUEST_FILENAME} !-f
    
    RewriteCond %{REQUEST_FILENAME} !-d
    
    RewriteRule ^(.*)$ /bbs/$1
    
    RewriteCond %{HTTP_HOST} ^bbs.wpchina.com$
    
    RewriteRule ^(/)?$ bbs/index.php [L] 

    第五步,在网站根目录
    /xampp/htdocs/www/wpchina.com 下建立 home, bbs 两个子目录。并在每个目录下放一个 index.php 文件,文件内容为:
    <?php
    
    echo $_SERVER['SCRIPT_FILENAME'];
    
    ?>
    
    
    
    这时候,你可以试试,分别访问 wpchina.com, home.wpchina.com, bbs.wpchina.com ,就可以看到不同的访问结果。 按照上面的办法,以后如果要增加别的子域名,只要重复第二步和第四步就可以了,不再需要重启apache,影响到其他网站。 附注:本文所提到的配置子域名的办法,仅用于测试环境,未进行安全测试,请勿直接用于生产环境。


    转载于http://wpchina.org
  • 相关阅读:
    python之shutil模块
    python的os模块
    python的map函数
    Web基础知识
    Web基础知识 --- html中的meta元素有什么用?
    使用技巧 --- 与 FireFox 相关
    基础知识之WIN32 API
    资料索引
    基础知识之C++篇
    使用技巧 --- 与 Visual Studio 有关
  • 原文地址:https://www.cnblogs.com/qhorse/p/4891802.html
Copyright © 2020-2023  润新知