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

--> 这个IP地址指向我们的Apache服务,此时修改我们的httpd.conf文件开启我们 mod_rewrite模块

同时启用我们的虚拟主机配置文件

当然我们也可以不启用这个文件,而将需要配置的虚拟主机信息直接写到httpd.conf中
--> httpd-vhosts.conf 的配置:


文件中配置的写法会有默认的示例,类似于这样:

但是有一些需要注意的地方:(这是我看手册觉得比较重要的,个人意见且不完全整理)
1、<VirtualHost>的使用并不影响Apache的监听地址。你需要使用Listen来确保Apache正在监听正确的地址。
也就是说:这个设置是在Apache地址监听的基础上才有作用的,所以这里的IP要有作用首先需要Listen的正确设置保证
2、基于域名的虚拟主机:
#
# Virtual Hosts
#
# If you want to maintain multiple domains/hostnames on your
# machine you can setup VirtualHost containers for them. Most configurations
# use only name-based virtual hosts so the server doesn't need to worry about
# IP addresses. This is indicated by the asterisks in the directives below.
#
# Please see the documentation at
# <URL:http://httpd.apache.org/docs/2.2/vhosts/>
# for further details before you try to setup virtual hosts.
#
# You may use the command line option '-S' to verify your virtual host
# configuration. #
# Use name-based virtual hosting.
#
# apache 服务默认监听 80 端口
# 如果要监听其他端口需要使用
# listen 443
NameVirtualHost *:80 #
# VirtualHost example:
# Almost any Apache directive may go into a VirtualHost container.
# The first VirtualHost section is used for all requests that do not
# match a ServerName or ServerAlias in any <VirtualHost> block.
#
<VirtualHost *:80>
# 管理员邮箱
ServerAdmin webmaster@webroot
# 应用根目录
DocumentRoot "E:/wamp/www"
# 虚拟域名
ServerName www.webroot.com
# 下面这两行可有可无
ErrorLog "logs/dummy-host2.localhost-error.log"
CustomLog "logs/dummy-host2.localhost-access.log" common
</VirtualHost> <VirtualHost *:80>
ServerAdmin webmaster@warmmail
DocumentRoot "E:/wamp/www/WarmMail"
ServerName www.wmail.com
# 可以看到这里下面的我删掉了,没有什么影响
</VirtualHost>
NameVirtualHost *:80 <VirtualHost *:80>
ServerAdmin wangxb@phpexcel
DocumentRoot "E:/wamp/www/phpexcel"
ServerName www.phpexcel.com
</VirtualHost>
效果:
浏览器中输入:wangxb.com (这里是我的一个thinkPHP的项目)

浏览器输入:webroot.com (这个我绑定到了www的根目录)

基于IP地址的虚拟主机:
上面基本都是基于主机名的虚拟主机的设置,很简单,下面的基于IP的虚拟主机更简单,因为我的感觉是:基于主机名的虚拟主机就是基于IP的虚拟主机的特例,为什么这么说?
答:因为我们可以把基于主机名的看成是基于IP的,只是有两个域名基于同一个IP,也就是说:有两个 <VirtualHost> 以上的设置的IP和端口是相同的,但是其中的ServerName 和DocumentRoot 设置不相同。
好了来看看,基于IP的设置,至于httpd.conf的配置就不需要修改了,主要是修改
/ hosts文件 ,也就是将域名绑定到不同的ip

再来修改
/httpd-vhosts.conf 文件

我们看到两个两个域名两个ip,对应的DocumentRoot 是不一样的。
效果:浏览器中的效果是和上面的效果一样的,这里我们使用F12的 network 来看看
webroot.com

network:

wangxb.com

network

好了,以上就是虚拟主机的设置。这里做个简单的介绍,Apache的中文手册其实已经非常的给力了,只有有一些基础web开发的知识,手册是完全可以看懂的,而且说得非常详细。大家在配置的时候,出现问题可以去好好看看手册
特别强调:
1、以上的每一步有关Apache配置文件的修改必须重启Apache服务
2、当你在修改hosts文件时可能提示你权限不够

3、当你编辑httpd.conf文件启用虚拟主机配置文件
时,你可能会遇到这个情况:

让我郁闷了两个小时的问题,莫名其妙的没有权限,想想我什么时候在window会这样啊? 一时我竟不知所措,如果是linux的话,我肯定回去ll -> chmod的啦,但是这是windows啊,怎么会这样,想想刚才还好好的怎么就这样了呢,一切又还原,重启服务,最后发现就是上面的开启虚拟主机配置文件的原因,当我们开启了虚拟主机的配置时,我们一定要正确设定
下的 httpd-vhosts.conf
windows下Apache的虚拟主机配置的更多相关文章
- linux下apache https 虚拟主机配置
如果单纯仅仅想在数据传输时加密传输,那么ssl证书是不须要认证的,可是浏览器打开时会有警告信息.如果我们做的不是一个公众产品那么也还好啦. 例如以下是今天学习时的一个笔记,事实上我用的是真实环境. 环 ...
- Apache+php+mysql的安装与配置 - 之三(Apache的虚拟主机配置)
Apache+php+mysql的安装与配置 - 之三(Apache的虚拟主机配置) Apache核心(Core)配置 VirtualHost 语法 <VirtualHost addr[:por ...
- windows下 apache 二级域名相关配置
小编今天给大家总结下 windows 下 apache的二级域名的相关配置 利用.htaccess将域名绑定到子目录 下面就利用本地127.0.0.1进行测试 我们这里以 www.jobs.com 为 ...
- windows下 apache 二级域名相关配置 【转】
转至: http://www.th7.cn/Program/php/201306/141305.shtml 今天给大家总结下 windows 下 apache的二级域名的相关配置 下面就利用本地127 ...
- linux下apache2的虚拟主机配置
1,起因 在一星期前吧,大波说既然咱们有了自己的服务器,二级域名了.可以考虑怎样每人一个域名,分别指向我们各自的空间.想法挺好,避免我们个人的东西放在同一主页上.那就做吧 2,第一次尝试 (1)在域名 ...
- server下apache2.4.*虚拟主机配置Forbidden You don't have permission to access / on this server.
前言: 继前面两节笔记之后,在配置一个虚拟主机时,这中间却遇见了一个问题,这里需要描述做一下笔记,刚刚安装的是Ubuntu server,apt-get下来的apache的版本是2.4.7,之前一直用 ...
- mac下xampp简单虚拟主机配置
多域名,虚拟主机的配置 开启虚拟主机配置选项: 打开httpd.conf文件,找到httpd-vhosts.conf那一行,解除该行注释: 打开httpd-vhosts.conf文件 修改如下 < ...
- Windows下Apache+MySQL+PHP快速配置的几种方法
Apache MySQL PHP Windows WAMP 1.易思EasySiteServer服务器集成环境 v1.0 (推荐) 尔创互联为推广其ESPCMS而开发的一个小东东,很好用.零配置,完 ...
- ubuntu下apache新建虚拟主机
最近发现在一个服务器上面布了一些项目,如果不用虚拟主机,用链接跳进去的话,有时候路径会出错,而自己在配置虚拟主机的时候又出现了一些问题,看似简单的东西,却花费了一上午,所以决定把简单的方法记下来,供和 ...
随机推荐
- Mybatis selectKey标签的keyProperty属性报错,关键字间隔不能有空格
源代码片段: <insert id="addAdminAction" parameterType="x.x.x.RoleVo"> <selec ...
- TS流解析 三
应该说真正了解TS,还是看了朋友推荐的<数字电视业务信息及其编码>一书之后,MPEG2 TS和数字电视是紧密不可分割的,值得总结一下其中的一些关系. ISO/IEC-13818-1:系统部 ...
- 马士兵Spring-声明式事务管理-XML
1.com.cy.model中User.java 和 Log.java 实体 和上一节一样: 2.DAO的实现类com.cy.dao.impl中的UserDAOImpl.LogDAOImpl.jav ...
- TCL数组
数组是一组使用索引对应元素的排列方式.常规数组的语法如下所示. set ArrayName(Index) value 用于创建简单数组的例子,如下所示. #!/usr/bin/tclsh set la ...
- 安装 sass 文档
为什么使用Sass 作为前端(html.javascript.css)的三大马车之一的css,一直以静态语言存在,HTML5火遍大江南北了.javascript由于NODE.JS而成为目前前后端统一开 ...
- 2018 Multi-University Training Contest 4-Glad You Came(hdu 6356)
一.思路 线段树维护一个区间最小值,然后对于每次操作,做区间更新即可.要注意的是,在更新的时候,记得剪枝:如果当前更新的值$v \le minv$(minv为当前线段树节点所管辖区间的最小值),直接返 ...
- POJ 2777-题解
一.题意 给你一排N个格子,M种颜色,P个操作.有两种操作:(1)C A B D:把[A, B]区间内的所有格子涂成颜色D.(2)P A B:输出[A, B]区间内的颜色的种类数.注意,初始颜色为1. ...
- java的文件上传和下载 抄袭别人的.在底部有说明.
=======后续 这里采用的是输出流的方式,我电脑装的是windows系统,测试没有问题,但是当把项目放到Linux系统上跑时,就会出现保存位置错误的情况, 指定的路径就会被当做文件名的一部分保存了 ...
- Java API token定时刷新
主要用到了调度线程池: ScheduleExecutorService, 一个循环方法scheduleWithFixedDelay(方法执行完之后计算下一次开始执行时间) 使用 TokenManage ...
- zookeeper 节点讲解以及实际项目运用
转自:https://www.jianshu.com/p/86acf1df6cdd 前言:最近工作不是很忙,本应该乘着闲暇的时间看书的,之前每天晚上都要翻翻的,可是自己竟然迷恋上了王晓磊 写的 卑鄙的 ...