今天我们介绍的这个办法,只需要简单修改 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:\Windows\System32\drivers\etc\hosts 文件,在最后加入以下三行代码,并保存。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 *: 代码签名的 # 按照其中的样例,添加以下代码:
<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

Windows下Apache服务器中自动配置二级子域名的更多相关文章

  1. Windows下Apache服务器搭建

    Apache HTTP Server(简称Apache)是Apache软件基金会的一个开放源码的网页服务器,是世界使用排名第一的Web服务器软件,可以在大多数计算机操作系统中运行,由于其多平台和安全性 ...

  2. 死磕!Windows下Apache+PHP+phpmyadmin的配置

    环境配置真的很烦很费时间,稍不小心就会出错,这是一个鸡肋体力劳动,耐心和忍耐少不了.这个资料已经非常详细了,其中变量和路径不是百分百吻合但是意思已经很清楚了.剩下的就是耐心的执行和琢磨了. 一.  A ...

  3. Windows下Apache+MySQL+PHP快速配置的几种方法

    Apache MySQL PHP Windows WAMP 1.易思EasySiteServer服务器集成环境 v1.0  (推荐) 尔创互联为推广其ESPCMS而开发的一个小东东,很好用.零配置,完 ...

  4. windows下Apache的虚拟主机配置

    1.Apache虚拟主机: 在Apache上有关于虚拟主机的具体说明,具体可以参考Apache手册,这里简单的说一下虚拟主机主要分为两种: 1.基于主机名的虚拟主机(一个IP地址,多个网站) 2.基于 ...

  5. windows下apache服务器的下载,安装,配置

    1.进行apache官网->Download->Files for Microsoft Windows->ApacheHaus,然后选择合适的版本下载 2.将下载下来的压缩包解压到合 ...

  6. windows下apache+php+mysql 环境配置方法

    一 准备 1 下载apache http://httpd.apache.org/download.cgi#apache24 httpd-2.2.22-win32-x86-openssl-0.9.8t. ...

  7. [转]Windows 下 Apache Virtual hosts 简单配置

    From : http://blog.csdn.net/wuerping/article/details/4164362 /* Author : Andrew.Wu [ Created on : 20 ...

  8. Windows下Apache 虚拟主机 VirtualHost 配置

    以下方式适合原生 Apache, XAMPP 和 WAMP 套件 1.修改Apache配置文件(httpd.conf),如下: # Virtual hostsInclude conf/extra/ht ...

  9. windows下apache服务器开启压缩和网页缓存

    找到配置文件:http.conf apache开启压缩 一.开启配置,去除下面代码前面的#号LoadModule deflate_module modules/mod_deflate.soLoadMo ...

随机推荐

  1. 应用HTK搭建语音拨号系统4: 识别器评估

    选自:http://maotong.blog.hexun.com/6261890_d.html 苏统华 哈尔滨工业大学人工智能研究室 2006年10月30日 声明:版权所有,转载请注明作者和来源 该系 ...

  2. docker open files的设置

  3. devstack meaning of: n-cond, n-novnc and n-xvnc

    devstack has shortened names for a number of services, e.g. g-api = glance api g-reg = glance regist ...

  4. CSS——display和float

    1.display 属性规定元素应该生成的框的类型. 值 描述 none 此元素不会被显示. block 此元素将显示为块级元素,此元素前后会带有换行符. inline 默认.此元素会被显示为内联元素 ...

  5. wxPython+Boa Constructor环境配置

    配置之前先完成eclipse + Pydev的配置环境.详见http://www.cnblogs.com/dflower/archive/2010/05/13/1734522.html 1. 安装 w ...

  6. 安装courier-authlib找不到mysqlclient.so文件

    使用configure配置的时候使用 --with-authmysql指明libmysqlclient.so的存放位置即可

  7. 错误日志中关于innodb的问题收集

    1.错误日志报告如下: ..... 120223 23:36:06 InnoDB: Compressed tables use zlib 1.2.3 120223 23:36:06 InnoDB: I ...

  8. 多线程BackroundWorker 使用

    参考文章:http://www.cnblogs.com/inforasc/archive/2009/10/12/1582110.html using System; using System.Coll ...

  9. Zookeeper集群服务部署

    Zookeeper是一个分布式.开源的分布式应用程序协调服务,是Google的Chubby的开源实现,也是和Hadoop.Hbase相互配合的重要组件,作用就是为分布式应用程序提供一致性服务,包括配置 ...

  10. JAVA thread0.interrupt()方法

    interrupt()只是改变中断状态而已,interrupt()不会中断一个正在运行的线程.这一方法实际上完成的是,给受阻塞的线程抛出一个中断信号,这样受阻线程就得以退出阻塞的状态. 更确切的说,如 ...