D1V1网社区 @开门芝麻网 http://sns.d1v1.com & http://www.KaiMenZhiMa.com/

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1586|回复: 0

apache配置多个虚拟目录操作及问题解决,httpd-vhosts.conf起作用

[复制链接]
发表于 2014-4-10 01:37:51 | 显示全部楼层 |阅读模式 <
开门芝麻网
连劲智播AI智能自动播实景无人直播(APP免费注册下载)http://kaimenzhima.com/forum.php?mod=viewthread&tid=1
关于apache配置多个虚拟目录操作及问题解决,
捣鼓了一个下午关于配置apache的多个虚拟根目录的设置,几经折腾也没成功,看了网上很多资料也没用。遇到了一个又一个的问题,晚上继续,在咱不懈努力下,一切困难都是神马浮云,O(∩_∩)O哈哈~……谨以此文献给所有遇到这些问题的弟兄们!!不足之处,请加以指点,以下只是我处理的方式:

1、 Apache支持配置多个虚拟目录,有的人可能直接在httpd.conf(该文件在:Apache2\conf的目录里)里面配置,今天我是直接配置在:httpd-vhosts.conf(该文件在:Apache2\conf\extra目录里)里。在httpd-vhosts.conf里的文件最后面加入了以下代码:

   <VirtualHost *:80>
        ServerAdmin webmaster@dummy-host2.localhost
         DocumentRoot "d:/web"
         ServerName idc.d1v1.com
   </VirtualHost>

<VirtualHost *:80>
        ServerAdmin webmaster@dummy-host2.localhost
         DocumentRoot "d:/www"
         ServerName    localhost
</VirtualHost>
我是分了两个目录,分别在D盘得web文件夹和D盘的www文件夹。
访问时分别是:http://idc.d1v1.com   和  http://localhost

2、 这里的注意一点,关于idc.d1v1.com 指向web目录;localhost指向www目录。然后,得找到Windows/system32/drivers/etc/hosts文件打开(用记事本打开),将原来的127.0.0.1 localhost       改为:
127.0.0.1     localhost
127.0.0.1     idc.d1v1.com
然后,保存。
3、 其次,我们在httpd-vhosts.conf 文件中修改的内容要起作用,要配置httpd.conf文件。启用httpd-vhosts.conf文件的这个模块。在httpd.conf文件中找到如下这句语句:
#Include conf/extra/httpd-vhosts.conf  ,把这语句前面的#号去掉,否则httpd-vhosts.conf里的内容不会起作用。去掉之后,保存,重启apache。

4、 这个时候,我们可能会发现apache的服务无法启动。我也在网上发现的有人问了这样的问题(即:为什么我的机子只要把Include conf/extra/httpd-vhosts.conf前面的#号去掉就起动不APACHE),经过仔细查看httpd-vhosts.conf这个文件,你会发现有以下这段语句:
<VirtualHost*:80>
    DocumentRoot"/www/docs/dummy-host.localhost"
    ServerName dummy-host.localhost
    ServerAlias www.dummy-host.localhost
    ErrorLog "logs/dummy-host.localhost-error_log"
    CustomLog"logs/dummy-host.localhost-access_log common"
</VirtualHost>

这里有doucumnetroot指向了某个具体的目录,但是实际上我们的电脑上没有该目录,所以,你索性把这段代码去掉即可,不会影响,这段代码只是给我们演示如何加虚拟目录。当然,你要加的虚拟目录也得先建好文件夹,否则也会无法启动apache。
5、 好,顺利解决上述问题,现在apache也顺利启动了。这个时候我访问http://website.cn是可以的,但是访问:http://localhost/ 的时候提示了另一个错误:
           Youdon't have permission to access / on this   
意思说我没有权限访问,被拒绝了!靠,哎,遇到问题就得想办法解决。网上找,经过搜索,看到一哥们也遇到这问题,心里一阵窃喜,O(∩_∩)O哈哈~,可是按照他的方法一操作,傻眼了,还是不行。他们的办法是:找到httpd.conf文件中如下代码:
<Directory/>     Options FollowSymLinks     AllowOverride None     Order deny,allow     deny from all     Satisfy all</Directory>然后试着把deny from all中的deny改成了allow,保存后重起了apache,我也这样操作,还是不行(有人建议把denyfrom all 去掉)。这时候,头大了,开始有点烦躁了,不过马上静下心来,把httpd.conf文件看了一遍又一遍,估计在看几遍也能背了,^_^;我开始把httpd.conf这个文件中的deny都改成了allow,保存,重启apache,还是不行。真的头大了。左思右想,查看apache配置文件,手册等等。最后还是想到了上述这段语句:
<Directory/>     Options FollowSymLinks     AllowOverride None     Order deny,allow     deny from all     Satisfy all</Directory>
最后,把这段语句去掉,保存,重启apache后,打开两个地址试了一下,OK,哈哈,解决了。
6、 最后,总结:遇到问题还是得细心的去查找问题,通过网上搜索,看帮助文档。或者官方的技术文档。不过可以看看apache官方的一些问题处理:https://issues.apache.org/bugzilla/buglist.cgi?quicksearch=forbidden

开门芝麻网
部分内容由网友发布或收集于互联网,如有侵权,请联系QQ/微信76815288,第一时间删除!(开门芝麻网 sns.d1v1.com)
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

 
在线客服
点击这里给我发消息 点击这里给我发消息 点击这里给我发消息 点击这里给我发消息
售前咨询热线
400-888-xxxx

微信扫一扫,私享最新原创实用干货

QQ|申请友链|Archiver|手机版|小黑屋|D1V1网社区 @开门芝麻网 ( 沪ICP备15050032号-2 )

GMT+8, 2024-3-29 01:07 , Processed in 0.121137 second(s), 33 queries .

Powered by Discuz! X3.4 Designed by www.D1V1.cn

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表