apache开启虚拟主机localhost无法访问

今天在集成环境下配虚拟主机,没想到虚拟主机开启后,localhost竟然无法访问了,解决办法是这样的:

实例一,Apache 配置localhost虚拟主机步骤
1,用记事本打开apache目录下httpd文件(如:D:\wamp\bin\apache\apache2.2.8\conf),找到如下模块
 
    # Virtual hosts
    #Include conf/extra/httpd-vhosts.conf
 
去掉前面的#,这样就开启了httpd-vhosts虚拟主机文件。这时候重启wamp环境,无法打开localhost,需要在httpd- vhosts.conf配置一下。
 
2,用记事本打开httpd-vhosts文件,配置好localhost虚拟主机,参照httpd- vhosts文件中实例,修改成如下:
 
   
    ServerAdmin webmaster@dummy-host.localhost
    DocumentRoot "D:\wamp\www"
    ServerName localhost
    ServerAlias localhost
    ErrorLog "logs/dummy-host.localhost-error.log"
    CustomLog "logs/dummy-host.localhost-access.log" common
   
 
修改配置如下:
DocumentRoot 修改为本地wamp环境下的www目录(如:D:\wamp\www)
ServerName改为localhost
3,重启Apache,发现localhost可以正常打开,配置localhost比较简 单。
 
实例二,Apache配置 test.biuuu.com虚拟主机步骤
 
1,方法同上,复制配置代码修改如下:
 
   
    ServerAdmin test@biuuu.com
    DocumentRoot E:\WebRoot\biuuu
    ServerName test.biuuu.com
    ErrorLog "logs/dummy-host2.localhost-error.log"
    CustomLog "logs/dummy-host2.localhost-access.log" common
   
 
2,打开host文件(C:\WINDOWS\system32\drivers\etc\hosts),增加一行代码
 
    127.0.0.1       test.biuuu.com
 
3,在浏览器中打开test.biuuu.com,发现如下错误403 Forbidden错误
Forbidden
You don't have permission to access / on this server.
 
分析:这主要是目录访问权限没有设置,需要设置对目录的访问权!
 
4,打开httpd文件,找到 如下语句
 
   
    Options FollowSymLinks
    AllowOverride None
    Order deny,allow
    Deny from all
   
 
复制以上代码,并进行目录修改,把/替换为E:\WebRoot\biuuu,修改virtualHost代码如下
 
在浏览器中测试发现还是打不开,提示如上403 Forbidden错误,修改其中的Deny from all为allow from all
 
5,重启Apache,虚拟主机配置成 功!
 
注意事项
1,目录路径,如E:\WebRoot\biuuu
2,访问权限,如上Deny from all修改为allow from all
3,host文件,配置虚拟域名host指向
4,httpd文件,打开Include conf/extra/httpd-vhosts.conf模块
5,httpd-vhosts文件,配置虚拟主机
 
使用 Apache配置httpd-vhosts虚拟主机对于开发人员来说比较简单,但却非常重要,仅供参考!
 
 
 
PS: D:\wamp\alias 也可以这样配置虚拟域名,和例二相同效果
 
 ServerName blog.cc
 ServerAlias blog.cc
 DocumentRoot "D:\wamp\www\blog"
 Options All FollowSymLinks IncludesNOEXEC Indexes
 DirectoryIndex index.html index.htm default.htm index.php default.php index.cgi default.cgi index.shtml index.aspx default.aspx  
 AllowOverride All
 Order Deny,Allow
 Allow from all
 
 
 
 
 
 
 

环境要求

       Apache(HTTPD)我的版本是2.4.3 Win32,你可能需要php引擎模块来测试php网站。
 

配置文件

   假设您已经知道在 httpd.conf 文件中为 main server 配置各种参数包括 DocumentRoot、ServerAdmin、ServerName等。那么配置虚拟主机就很方便了。为了配置文件方便管理,httpd.conf 中有一行指令用来包含外部的配置文件:
Include conf/extra/httpd-vhosts.conf
这行默认是注释掉的,主要是为虚拟主机的配置。所以在该文件(httpd-vhosts.conf)中添加虚拟主机的配置内容:
   如果我在 e:/etc/www/ 下存放了两个网站,一个是 ggicci.cn,一个是 chongwuxingqiu.com。分别存放在 ggicci.cn 目录和 chongwuxingqiu.com 目录下。我现在要为 ggicci.cn 配置成一个虚拟主机,占据端口 81,也就是说我访问该网站需要输入 localhost:81 (本文内容只与本地测试相关,不涉及远程服务器)。chongwuxingqiu.com 同理占据端口 82。我的配置内容如下:
Listen 81  # 监听81端口
<VirtualHost *:81>
    ServerAdmin ggicci@163.com
    DocumentRoot "e:/etc/www/ggicci.cn"  # 网站根目录
    DirectoryIndex index.html index.php  # 主页索引,因为是php网站,所以添加一个.php的
#    ServerName 
    ErrorLog "logs/ggicci.cn-error.log" # 错误日志
    CustomLog "logs/ggicci.cn-access.log" common  # 访问日志
</VirtualHost>

Listen 82
<VirtualHost *:82>
    ServerAdmin ggicci@163.com
    DocumentRoot "e:/etc/www/chongwuxingqiu.com"
    DirectoryIndex index.html index.jsp # jsp网站,所以添加一个.jsp的
#    ServerName 
    ErrorLog "logs/chongwuxingqiu.com-error.log"
    CustomLog "logs/chongwuxingqiu.com-access.log" common

    JkMount /*.jsp chongwuxingqiu  # 这个是 mod_jk 的指令,与 tomcat 相关
</VirtualHost>


测试结果

#e:/etc/www/ggicci.cn/index.php
<?php 
	echo "ggicci.cn";
 ?>
 
//e:/etc/www/pet.com/index.jsp
<!DOCTYPE html>
<%@ page contentType="text/html; charset=utf-8"%> 
<html>
<head>
	<title>宠物星球</title>
	<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
	<%
		out.println("宠物星球");
	%>
</body>
</html>

转载于:https://www.cnblogs.com/wangluochong/p/5503310.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值