3. 打开 httpd.conf 文件, 添加如下代码:

# Virtual hosts

Include conf/extra/httpd-vhosts.conf

如果已存在,将Include前面的#去掉;

虚拟目录就是:文件+权限,不能随便指定,需要在apache里面的文件中指定,Apache安装就会在自己的目录下生成一个默认根目录是htdos就是里面还有个index.html

就是安装完了后,在浏览器地址输入localhost就会显示it works就是这个文件起作用了

但是这是可以更改的,就是通过更改DocumentRoot后面指定的目录,这个可以指定任意目录,但是缺点是只能指定一个网站,如果我们需要用一个Aapache管理

那么就需要用到虚拟主机,就是自己电脑本来是一台虚拟为多台,这个首先需要改host文件,就是很多域名对应一个ip:127.0.0.1这个其实需要考虑不同主机的问题,这个作用就是

就是一个中间桥梁的作用,不同的域名就是对应的ip,然后还是不需要在虚拟主机中去配置不同的域名访问的时候需要指定一定的目录,其实这样就区别开了不同网站,也就是说所谓的

虚拟主机就是在虚拟主机配置文件中指定不同的文件夹来达到虚拟主机的目的,这里的不同文件夹就是被外界看来是不同的主机

站点:一个网站的所有资源文件夹

出错及解决方案:

之前的虚拟主机的配置文件是这样写的:而且还参杂了很多乱七八糟的杨丽:

<VirtualHost *:80>
ServerAdmin webmaster@dummy-host.example.com
DocumentRoot "c:/Apache24/docs/dummy-host.example.com"
ServerName dummy-host.example.com
ServerAlias www.dummy-host.example.com
ErrorLog "logs/dummy-host.example.com-error.log"
CustomLog "logs/dummy-host.example.com-access.log" common
</VirtualHost>
<VirtualHost *:80>
DocumentRoot "D:/web1"
ServerName www.sina.com
<Directory "D:/web1">
Allow from all
</Directory>
</VirtualHost>

<Directory "D:/web1">
Options Indexes MultiViews
AllowOverride None
Order allow,deny
Allow from all
</Directory>

<VirtualHost *:80>

#是否列出文件目录结构
Options indexes
#配置网站首页面
DirectoryIndex abc.html abc2.html
#配置404错误页面引导用户进入新页面
errorDocument 404 /404.html
#配置rewrite规则
RewriteEngine On

DocumentRoot "C:/myenv/apache/htdocs/static2"
#Directory配置节点,用于指定该目录下的文件或是图片的访问权限
#设置主机的错误页面或者欢迎页面
ServerName www.hsp.com
<Directory "C:/myenv/apache/htdocs/static2">
#这里可以指定是否让人访问
Allow from all
</Directory>
</VirtualHost>

结果提示:没有权限访问:403

然后我改成这样:

<VirtualHost *:80>
DocumentRoot "D:/web1"
ServerName www.sina.com
<Directory "D:/web1">
Options Indexes FollowSymLinks Includes ExecCGI
AllowOverride All
Require all granted
</Directory>
</VirtualHost>

简洁美观但成功了

还需要注意APche主配置文件的设置:应该关闭默认的虚拟目录:现在已经没有必要了。当然打开是不会影响虚拟主机,但是虚拟目录的网站无法访问的所以还是注释掉吧

然后把虚拟主机肯定是要开启的

-----------------------------------------------------

2015/12/9

通过大目录和小目录来指定文件的权限

左边是大目录,右边是小目录,大目录的权限设置了,小目录就可以继承过来

一般只有通过ip+域名或者ip+端口来寻找一个项目,这个单独ip一般不能直接访问网站,比如sina和suhu都是不行,当然也可能是因为别人封闭了

ip和域名二选一吧,如果在虚拟主机中设置了ip进行访问也可以,就是不设置域名,直接用ip解析就行。但是下一个项目如果也是用该Ip那么访问ip就是默认访问第一个项目

所以ip是必要条件,域名不是必要条件,但是域名+ip就可以更精准的确定一个项目

最后一次这样居然对了

<VirtualHost *:80>
DocumentRoot "D:/web1"
ServerName www.joy.com

<Directory "D:/web1">
Options Indexes FollowSymLinks Includes ExecCGI
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>

下面是首先指定大目录权限,下面的小目录就不需要指定:

<Directory "D:/web">
Options Indexes FollowSymLinks Includes ExecCGI
AllowOverride All
Require all granted
Order allow,deny
Allow from all
</Directory>

<VirtualHost *:80>
DocumentRoot "D:/web/ceshi"
ServerName www.ceshi.com
<Directory "D:/web/ceshi">
</Directory>
</VirtualHost>
<VirtualHost *:80>
DocumentRoot "D:/web/cms"
ServerName www.cms.com
<Directory "D:/web/cms">
</Directory>
</VirtualHost>
<VirtualHost *:80>
DocumentRoot "D:/web/center"
ServerName www.center.com
<Directory "D:/web/center">
</Directory>
</VirtualHost>

最后又出现apache好像没有开启重写的现象,但是明明开启了,解决办法参考:

感谢:http://www.win4000.com/course_detail_27842.html

最后在http.config文件修改:

<Directory />
AllowOverride All
Require all denied
</Directory>

在公司中同事推荐使用配置一个总的,这样增加任何项目不需要再配置

<Directory "D:/web">
Options Indexes FollowSymLinks Includes ExecCGI
AllowOverride All
Require all granted
Order allow,deny
Allow from all
</Directory> <VirtualHost *:80>
DocumentRoot "D:/web"
ServerName 127.0.0.1
<Directory "D:/web">
</Directory>
</VirtualHost>

  

Aache的虚拟主机配置虚拟目录的更多相关文章

  1. nginx虚拟主机配置

    nginx虚拟主机配置   虚拟主机的概念虚拟主机,就是把一台物理服务器划分成多个"虚拟"的服务器,每一个虚拟主机都可以有独立的域名和独立的目录nginx虚拟主机的配置nginx的 ...

  2. Apache虚拟主机配置(多个域名访问多个目录)

    Apache虚拟主机配置(多个域名访问多个目录) 为了方便管理虚拟主机,我决定使用一种方法,那就是修改httpd-vhosts.conf文件. 第一步首先要使扩展文件httpd-vhosts.conf ...

  3. LAMP虚拟主机配置以及控制目录访问

    3.基于域名的虚拟主机配置 NameVirtualHost192.168.3.32:80#apache2.2.xx版本需要开启此选项,而且要和下面的保持一致:2.4.x版本就不需要此项设置了 < ...

  4. Apache虚拟主机配置(多个域名访问多个目录)(转)

    Apache虚拟主机配置(多个域名访问多个目录) 为了方便管理虚拟主机,我决定使用一种方法,那就是修改httpd-vhosts.conf文件. 第一步首先要使扩展文件httpd-vhosts.conf ...

  5. Apache虚拟主机配置

    在一个Apache服务器上可以配置多个虚拟主机,实现一个服务器提供多站点服务,其实就是访问同一个服务器上的不同目录.Apache虚拟主机配置有3中方法:基于IP配置.基于域名配置和基于端口配置,这里介 ...

  6. lamp centos虚拟主机配置

    1.基于不同端口的虚拟主机配置 [root@lamp~]# vi /etc/httpd/conf/httpd.conf Listen 80      #设置监听不同的虚拟主机需要使用的端口 Liste ...

  7. Ngnix 安装、信号量、虚拟主机配置

    ngnix的安装很简单 1.先从ngnix官网下载ngnix压缩包 wget http://nginx.org/download/nginx-1.6.2.tar.gz 2.解压并进入其目录 tar - ...

  8. 【nginx运维基础(2)】Nginx的配置文件说明及虚拟主机配置示例

    配置文件说明 #定义Nginx运行的用户和用户组 user www www; #nginx进程数,建议设置为当前主机的CPU总核心数. worker_processes 8; #全局错误日志定义类型, ...

  9. phpStudy 2014的Apache虚拟主机配置

    安装phpStudy直接百度下载,傻瓜式安装很简单,一直点击下一步即可,中途根据个人爱好设置WWW目录,我的设置在D盘根目录里. 打开虚拟主机配置,打开D:\phpStudy\Apache\conf下 ...

随机推荐

  1. 算法精解:DAG有向无环图

    DAG是公认的下一代区块链的标志.本文从算法基础去研究分析DAG算法,以及它是如何运用到区块链中,解决了当前区块链的哪些问题. 关键字:DAG,有向无环图,算法,背包,深度优先搜索,栈,BlockCh ...

  2. Web项目生成详解

    action 与用户控制层相关内容,来自用户的请求和页面跳转: dao 数据库进行增删改查操作,接口定义其中: dao.impl 将上述接口进行实现 domain 数据表都映射成java中的类,实现数 ...

  3. Eslint报错整理与解决方法(持续整理)

    1.'Unexpected tab character' 字面意思理解呢就是意想不到的制表符,当时出现的时候就是我习惯的使用Tab键去打空格,但是eslint默认不认可Tab,所以解决方法很简单: 在 ...

  4. 原生jdbc操作mysql数据库详解

    首先给大家说一下使用JDBC链接数据库的步骤 1.加载链接数据库驱动 2.建立数据库链接 3.创建数据库操作对象 4.编写sql语句,执行sql语句 5.获取结果集 6.释放资源 我这边采用的是mav ...

  5. 记录解决python在spark运行加载第三方库的问题

    一般写python的我们经常会import一些常用的库,然后有时集群环境上的python没有这些库,怎么办呢? 通过一段时间的摸索发现有二种方式可以解决这个问题: 第一种方法: 下载对应python的 ...

  6. Linux环境下jdk1.8压缩包下载

    jdk1.8下载: 百度云链接:https://pan.baidu.com/s/1c37VcPi 密码:e6qh

  7. EF ( Entity Framework) 操作ArcCataLog 生成的(Sql Server)空间数据库

    因为项目需求,现在需要利用EF 操作由Arccatalog生成的sql server空间数据库..在此之前,一直没有接触过空间数据库,在操作空间数据库时 绕了许多弯... 因此写一篇随笔做一个总结. ...

  8. 通过Beego将之前实现的短url项目实现

    正好通过这个小例子对之前了解的beego框架的基本内容进行一个简单的应用 实现的完整代码地址:https://github.com/pythonsite/go_simple_code/tree/mas ...

  9. 代码重构--switch的惊恐现身

    switch作为条件判断(分支结构)中的一种方式,以至于我们对于它使用的频率处于较高水平的水平线上,为此我们应该使用Extra method来对这类判断条件进行抽取,另外从我自身而言,我发现我以前常常 ...

  10. Mycat 分片规则详解--ER关系表分片

    ER模型是实体关系模型,基本元素是实体.关系和属性,Mycat 针对ER关系表的切分规则中,使得有相互依赖的表能够按照某一个规则切分到相同的节点上,避免垮库 Join 关系查询,下面的示例为订单(or ...