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. c++面试遇到问题

    1. C 和 C++ 区别      2. const 有什么用途     主要有三点: 1:定义只读变量,即常量 2:修饰函数的参数和函数的返回值 3: 修饰函数的定义体,这里的函数为类的成员函数, ...

  2. ES2015 类中的静态方法

    在ES2015中,终于不用用函数原型来实现类系统,可以直接使用关键字class,下面是对class的静态属性的研究: 举例:一个Node类,每一个Node类之间都可以建立从属关系,每一个Node实例下 ...

  3. Gradle下载 Jar 包

    使用此方法下载Jar包的前提是已经配置好了Gradle的环境了,配置好的标志是在终端输入gradle不提示command not found. 1. 编写build.gradle文件代码: apply ...

  4. AJAX跨域问题解决方法(2)——JSONP解决跨域

    JSONP是什么?JSON全称为JSON with Padding,是JSON的一种补充的使用方式,不是官方协议. 使用JSONP服务器后台要改动吗?JSONP不同于一般的ajax请求返回json对象 ...

  5. PAT乙级-1043. 输出PATest(20)

    给定一个长度不超过10000的.仅由英文字母构成的字符串.请将字符重新调整顺序,按"PATestPATest...."这样的顺序输出,并忽略其它字符.当然,六种字符的个数不一定是一 ...

  6. 题目1010:A + B

    题目描述: 读入两个小于100的正整数A和B,计算A+B. 需要注意的是:A和B的每一位数字由对应的英文单词给出. 输入: 测试输入包含若干测试用例,每个测试用例占一行,格式为"A + B ...

  7. npm打包前端项目太慢问题分析以及暂时解决方案

    npm build 打包前端项目实际上是执行 node build/build.js,但是随着项目的依赖包越来越多,项目打包时间不断延长,为了改善这个问题,需要从node入手 暂时解决方案:扩大nod ...

  8. 想在网上保持匿名?教你用Linux如何实现!

    想在网上保持匿名?教你用Linux如何实现! 信息时代给我们的生活带来极大便利和好处的同时也带来了很大的风险.一方面,人们只要点击几下按钮,就能基本上访问已知存在的全部信息和知识:另一方面,要是这种权 ...

  9. Spring - JPA 一对一, 一对多, 多对多关联

    现在有三个类:One Many Much One类 Much类 @Entity public class Much { @Id @GeneratedValue private Integer id; ...

  10. 兄弟连学Python-Mysql的基础知识

    ##MySQL数据库基础知识 1.数据库系统(database system) 数据库系统是计算机系统中一种专门管理数组资源的系统,数据库存储的是一组或多组经过处理后的数据,管理这个数据库的软件成为数 ...