经常使用Apache虚拟主机进行开发和测试,但每次需要配置虚拟主机时都习惯性的ctrl+c和ctrl+v,这次由于重装系统,需要配置一个新的PHP开发环境虚拟主机,于是总结一下Apaceh配置httpd-vhosts虚拟主机使用方法和步骤,便于查找和使用。

开发环境:WAMP
网址:http://www.wampserver.com/en/

实例一,Apaceh配置localhost虚拟主机步骤
1,用记事本打开apache目录下httpd.conf文件(如:D:\wamp\bin\apache\apache2.2.8\httpd.conf),找到如下模块

  1. #Virtual hosts

  2. #Include conf/extra/httpd-vhosts.conf

去掉前面的#,这样就开启了httpd-vhosts虚拟主机文件。这时候重启wamp环境,无法打开localhost,需要在httpd-vhosts.conf配置一下。

2,用记事本打开httpd-vhosts文件,配置好localhost虚拟主机,参照httpd-vhosts文件中实例,修改成如下:

  1. <VirtualHost *:80>

  2. ServerAdmin webmaster@dummy-host.localhost

  3. DocumentRoot "D:\wamp\www"

  4. ServerName localhost

  5. ServerAlias localhost

  6. ErrorLog "logs/dummy-host.localhost-error.log"

  7. CustomLog "logs/dummy-host.localhost-access.log" common

  8. </VirtualHost>

修改配置如下:
DocumentRoot 修改为本地wamp环境下的www目录(如:D:\wamp\www)
ServerName改为localhost

3,重启Apache,发现localhost可以正常打开,配置localhost比较简单。

实例二,Apaceh配置test.biuuu.com虚拟主机步骤

1,方法同上,复制配置代码修改如下:

  1. <VirtualHost *:80>

  2. ServerAdmin test@biuuu.com

  3. DocumentRoot E:\ProjectRoot\

  4. ServerName test.sallency.com

  5. ErrorLog "logs/dummy-host2.localhost-error.log"

  6. CustomLog "logs/dummy-host2.localhost-access.log" common

  7. </VirtualHost>

2,打开host文件(C:\WINDOWS\system32\drivers\etc\hosts),增加一行代码

  1. 127.0.0.1       test.sallency.com

3,在浏览器中打开test.sallency.com,发现如下错误403 Forbidden错误
Forbidden You don't have permission to access / on this server.

分析:这主要是目录访问权限没有设置,需要设置对目录的访问权!

4,打开httpd文件,找到如下语句

  1. <Directory />

  2. Options FollowSymLinks

  3. AllowOverride All

  4. Order deny,allow

  5. Deny from all

  6. </Directory>

复制以上代码,并进行目录修改,把/替换为E:\WebRoot\biuuu,修改virtualHost代码如下

  1. <VirtualHost *:80>

  2. ServerAdmin test@biuuu.com

  3. DocumentRoot E:\ProjectRoot\

  4. ServerName test.sallency.com

  5. ErrorLog "logs/dummy-host2.localhost-error.log"

  6. CustomLog "logs/dummy-host2.localhost-access.log" common

  7. <Directory E:\ProjectRoot\>

  8. Options FollowSymLinks

  9. AllowOverride All

  10. Order deny,allow

  11. Deny from all

  12. </Directory>

  13. </VirtualHost>

在浏览器中测试发现还是打不开,提示如上403 Forbidden错误,修改其中的Deny from all为allow from all

5,重启Apache,虚拟主机配置成功!

注意事项
1,目录路径,如E:\ProjectRoot\

2,访问权限,如上Deny from all修改为allow from all

3,host文件,配置虚拟域名host指向
4,httpd文件,打开Include conf/extra/httpd-vhosts.conf模块
5,httpd-vhosts文件,配置虚拟主机

6,还有可能是linux 的 selinux 防火墙导致这个原因,切记切记

使用Apaceh配置httpd-vhosts虚拟主机对于开发人员来说比较简单,但却非常重要,仅供参考!

参考资料:

http://httpd.apache.org/docs/2.2/vhosts/

http://httpd.apache.org/docs/2.0/vhosts/examples.html

顾银鑫 注:如发生Fatal error: Allowed memory size of 8388608 bytes exhausted错误

修改php.ini设置memory_limit = 12M(默认8M)

或只需要在你的程序头部加入: ini_set("memory_limit","12M");

原文:http://blog.163.com/lgh_2002/blog/static/44017526201182514650248/

PHP中级篇 Apache配置httpd-vhosts虚拟主机总结及注意事项的更多相关文章

  1. PHP中级篇 Apache配置httpd-vhosts虚拟主机总结及注意事项[OK]

    经常使用Apache虚拟主机进行开发和测试,但每次需要配置虚拟主机时都习惯性的ctrl+c和ctrl+v,这次由于重装系统,需要配置一个新的PHP开发环境虚拟主机,于是总结一下Apaceh配置http ...

  2. 轻松配置httpd的虚拟主机

    html { font-family: sans-serif } body { margin: 0 } article,aside,details,figcaption,figure,footer,h ...

  3. apache 配置多个虚拟主机

    修改文件:httd.conf 文件地址:D:\wamp\bin\apache\Apache2.2.21\conf #配置虚拟主机<VirtualHost 127.0.0.3:80>Serv ...

  4. apache配置多个虚拟主机

    设置apache 多个虚拟目录记录 #配置第2个虚拟目录<VirtualHost 127.0.0.2:80>ServerName www.xx.comDocumentRoot " ...

  5. Apache配置 1. 默认虚拟主机

    编辑httpd.conf搜索httpd-vhosts,去掉#号 # vi /usr/local/apache2.4/conf/httpd.conf Include conf/extra/httpd-v ...

  6. apache 配置多个虚拟主机,不同的端口

    1.在httpd.conf添加多个端口,如下 Listen 80Listen 8080 2.开启Include conf/extra/httpd-vhosts.conf 3.具体代码如下 <Vi ...

  7. Linux环境下Apache配置多个虚拟主机挂载多站点同时运行

    博客地址: http://blog.csdn.net/ClydeKuo/article/details/69569474 这篇博客讲的很详细,很详细.

  8. apache配置多个虚拟主机 localhost访问不了解决方案

    在httpd-vhosts.conf,重定向localhost <VirtualHost *:80>    ServerAdmin webmaster@dummy-host2.exampl ...

  9. centos LAMP第二部分apache配置 下载discuz!配置第一个虚拟主机 安装Discuz! 用户认证 配置域名跳转 配置apache的访问日志 配置静态文件缓存 配置防盗链 访问控制 apache rewrite 配置开机启动apache tcpdump 第二十节课

    centos    LAMP第二部分apache配置  下载discuz!配置第一个虚拟主机 安装Discuz! 用户认证 配置域名跳转  配置apache的访问日志  配置静态文件缓存  配置防盗链 ...

随机推荐

  1. 俩个对象的hashCode()相同,则equals()也一定为true,对吗?

    不对,俩个对象的hashCode()相同,equals()不一定为true. 代码示例: 1 String str1 = "通话"; 2 String str2 = "重 ...

  2. ADB 调试

    1.adb简介 adb的全称为Android Debug Bridge,就是起到调试桥的作用.通过adb我们可以在Eclipse中方面通过DDMS来调试Android程序,说白了就是debug工具.a ...

  3. 快,学会 shell

    本文分成入门篇和基础篇.基础篇包括变量.字符串处理.数学运算三部分.基础篇包括流控制.函数和函数库三部分.主要是基于例子进行讲解,其中有 4 个复杂一点的脚本,看懂了也就入门了. 我们先来聊一聊 sh ...

  4. A 拜访奶牛

    时间限制 : - MS   空间限制 : 65536 KB  评测说明 : 时限1000ms 问题描述 经过了几周的辛苦工作,贝茜终于迎来了一个假期.作为奶牛群中最会社交的牛,她希望去拜访N(1< ...

  5. CyclicBarrier是如何成为一个"栅栏"的

    CyclicBarrier是一种类似于栅栏的存在,意思就是在栅栏开放之前你都只能被挡在栅栏的一侧,当栅栏移除之后,之前被挡在一侧的多个对象则同时开始动起来. 1. 如何使用CyclicBarrier ...

  6. session分布式处理

    session分布式处理 标签(空格分隔): 分布式 1. Session复制 在支持Session复制的Web服务器上, 通过修改服务器配置, 可以实现将Session同步到其它Web服务器上, 达 ...

  7. Mysql数据库错误代码大全

                                                    Mysql数据库错误代码大全 出现较多的一些网页代码提示的意思: 1016错误:文件无法打开,使用后台修 ...

  8. HttpClient来自官方的JSON扩展方法

    System.Net.Http.Json Json的序列化和反序列化是我们日常常见的操作,通过System.Net.Http.Json我们可以用少量的代码实现上述操作.正如在github设计文档中所描 ...

  9. C#如何正确的做深拷贝

    估计很多人在网上看到各种各样的DeepClone实现, 例如: 1. 通过BinaryFormatter进行二进制序列化 这玩意儿序列化出来的东西还带namespace类型, 尺寸非常大, 调试一下就 ...

  10. Ubuntu 修改$PS1 自定义命令提示符

    文章更新于:2020-03-25 文章目录 一.自定义命令提示符 1.可修改的是那部分? 2.修改 $PS1 变量 3.$PS1 变量格式 4.如何修改背景颜色 5.修改字体 二.Enjoy! 一.自 ...