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:\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 *: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
时间: 2024-10-11 11:30:06

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

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

Apache MySQL PHP Windows WAMP 1.易思EasySiteServer服务器集成环境 v1.0  (推荐) 尔创互联为推广其ESPCMS而开发的一个小东东,很好用.零配置,完全绿色,不写注册表,不安装服务官网链接:http://www.ecisp.cn/html/cn/download/下载地址:http://www.ecisp.cn/download/EasySiteServer.rar 本软件集成了最新版的Apache服务器,Apache/2.0.58 (Win32

windows下Apache的虚拟主机配置

1.Apache虚拟主机: 在Apache上有关于虚拟主机的具体说明,具体可以参考Apache手册,这里简单的说一下虚拟主机主要分为两种: 1.基于主机名的虚拟主机(一个IP地址,多个网站) 2.基于IP地址的虚拟主机(每个站点拥有一个的独立IP地址) 虽然是两种,但其实仔细比对,就能发现:基于主机名的其实非常像一个特殊的基于IP地址的方式,如何实现虚拟主机,思路是这样的: 2.windows下:  基于主机名  设置DNS(windows上的 / hosts文件),好让我们的域名被解析到特定的

[Apache]Windows下Apache服务器搭建

一.下载 下载安装程序Apache2.2.4版下载,地址:http://httpd.apache.org/download,选择apache_2.2.4-win32-x86-no_ssl.msi,大约4M多. 二.安装 运行下载的Apache文件,即可开始安装.Apache的安装过程很简单.只需要设置下面这个窗口:在"Network Domain"里输入域.如果用本站的二级域名,例如"test.dnschek.net",请输入"test.dnschek.n

windows下apache虚拟主机的配置

我们这里主要讲最常用的基于域名的虚拟主机的配置. 1.记事本打开hosts文件,该文件在:C:\ Windows\ System32\ drivers\etc这个文件夹下, 在文件内容的末尾写入如下内容: [plain] view plain copy 127.0.0.1(不可改) www.fangchan.com(自定义) 2.记事本打开httpd.conf文件 ,该文件在apache的目录下,如: D:\AppServ\Apache2.2\conf,修改如下两处: [plain] view

Windows下Apache,MySql,PHP安装配置

0.操作系统 Windows8.1 x64 1. 安装Apache 打开http://httpd.apache.org 左侧Download!点From a Mirror,看到当前最新稳定版本未2.4.12, 看到现在Windows的版本已经不像以前一样提供.msi和.zip等下载包了.而是提示: Apache httpd for Microsoft Windows is available from a number of third party vendors. 看来需要从第三方获取.点这个

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

一 准备 1 下载apache http://httpd.apache.org/download.cgi#apache24 httpd-2.2.22-win32-x86-openssl-0.9.8t.msi openssl表示带有openssl模块,利用openssl可给Apache配置SSL安全链接 2 下载php http://windows.php.net/downloads/releases/archives/ php-5.3.5-Win32-VC6-x86.zip 下载vc6版本 VC

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

找到配置文件:http.conf apache开启压缩 一.开启配置,去除下面代码前面的#号LoadModule deflate_module modules/mod_deflate.soLoadModule headers_module modules/mod_headers.so 二.添加压缩规则 <IfModule deflate_module> #必须的,就像一个开关一样,告诉apache对传输到浏览器的内容进行压缩 SetOutputFilter DEFLATE #压缩级别,1-9,

windows下apache利用SSL来配置https

第一步打开httpd.conf文件找到以下两个变量把注释去掉. #LoadModule ssl_module modules/mod_ssl.so (去掉前面的#号) #Include conf/extra/httpd-ssl.conf (去掉前面的#号) #LoadModule proxy_module modules/mod_proxy.so (去掉前面的#号) #LoadModule proxy_http_module modules/mod_proxy_http.so (去掉前面的#号)

windows下apache最新下载、安装配置

一.Apache的下载: 登录http://httpd.apache.org/download.cgi 这个地址,找到2.4.20,如下图位置: 进入如下界面后,选择第一项ApacheHaus,这是个第三方下载平台,在它的网站下载独立的Apache会是一个压缩包 另外四个中,第二个也是独立的Apache下载地址,另外三个是集成开发环境. 小编选的第一个. 在新的界面中,会发现有VC14和VC11及VC9字样,通过阅读相关内容得知,VC9是指用VS2008编译的代码,而VC11是用VS2012编译