日期:2014-05-17  浏览次数:20519 次

配置PHP虚拟目录

----------
摘要
----------
本文极为简要的介绍了如何在Windows平台下安装Apache2.2.x并配置虚拟目录. 以作为快速安装的参考. 详细的设置最好的文档是官方的说明文档见下方的链接, 在安装配置的时候仔细的查阅文档是很好的解决办法.
1. Apache HTTP Server Version 2.2 英文文档
2. Apache HTTP Server Version 2.2 中文文档


----------
准备条件
----------
http://httpd.apache.org/ 下载相应版本的Apache. (注意: 2.0与2.2版本的Apache对应的Module版本页不同, 互相不兼容, 因此需要根据应用程序来下载相应版本的Apache). 如果不需要使用ssl, 则要下载 Apache 2.x.x-win32-x86-no_ssl.msi, 如果需要使用, 则需要下载Apache 2.x.x-win32-x86-openssl-x.x.x.msi

----------
安装
----------
双击安装程序, 它将引导你完成整个安装过程。请确保你输入正确的服务器URL(如果你的服务器没有DNS名称,你可以直接输入IP地址)。建议将Apache安装成" for all Users,on Port 80,as a service" Apache将自动安装一个系统服务以自动启动。注意:如果你已经有一个IIS或者其它的程序使用80端口,安装可能会失败。如果是这样,你可以到程序目录下的Apache Group\Apache2\conf目录中找到文件httpd.conf,将其中的Listen 80改成一个不用的端口,比如Listen 81。然后重新运行这个安装程序,这次应该不会再有问题了。

安装结束之后在
浏览器中键入 http://loccalhost,如果呈现了一个已经配置好的网站,那么Apache就安装成功了。 如果你将Apache安装成一个服务,它将以本地system帐户来运行。为Apache创建一个单独的用户来运行它将会更安全一些。

打开Apache的安装目录, 找到文件 /conf/httpd.conf, 打开它进行配置的编辑. 配置文件中对于各项都有比较详细的描述, 在配置结束之后可以运行开始菜单中Apache安装文件夹中的Test Configuration工具来检验配置文件是否正确. 如果配置不正确会给出简要的说明. 如果在配置结束之后通过了Test Configuration工具, 但是仍然不能够顺利运行Apache, 可以到[Apache安装目录]/logs/ 这个目录中查看记录, 以找出问题所在.

----------
配置 httpd.conf文件
----------
# 设置文档主目录, 后面的就是磁盘的目录
DocumentRoot "D:/Programs/Apache2.2/htdocs"

# 添加虚拟目录, 下面的设置在浏览器中输入 http://localhost/webpath/ 的时候机会访问服务器的"D:/Programs/WebPath"目录
Alias /webpath/ "D:/Programs/WebPath"
# 当/webPath 后面不加"/"的话, 在浏览器中可以输入 http://localhost/webpath Apache会自动的在后面添加"/"
Alias /webpath "D:/Programs/WebPath"

# URL 重定向
Redirect permanent /foo/ http://www.example.com/bar/

# 设定虚拟主机: 请参考 http://lamp.linux.gov.cn/Apache/ApacheMenu/vhosts/index.html

?

  在WIN下安装APACHE配置虚拟目录和UNIN下基本是一样的
  就是修改httpd.conf
  1:单个IP对应单个玉米
  例如:www.phpunion.com对应192.168.1.1
  www.feelone.net对应192.168.1.2
  在httpd.conf中加入如下指令
  <VirtualHost 192.168.1.1> #对应玉米所指向的IP
   DocumentRoot "c:/web/php" #www.phpunion.com要指向的目录,注意一定要有""
   ServerName www.phpunion.com #所要绑的玉米
  </VirtualHost>

?


  <VirtualHost 192.168.1.2> #对应玉米所指向的IP
   DocumentRoot "c:/web/feel" #www.feelone.net要指向的目录,注意一定要有""
   ServerName www.feelone.net #所要绑的玉米
  </VirtualHost>
  剩下的可以继续绑!

?


  2:单个IP对应多个玉米

?

NameVirtualHost 192.168.1.1 #记得一定要有着句啊!
  <VirtualHost 192.168.1.1> #对应玉米所指向的IP
    DocumentRoot "c:/web/php" #www.phpunion.com要指向的目录,注意一定要有""
   ServerName www.phpunion.com #所要绑的玉米
  </VirtualHost>


<VirtualHost 192.168.1.1> #对应玉米所指向的IP
  DocumentRoot "c:/web/feel" #www.feelone.net要指向的目录,注意一定要有""
   ServerName www.feelone.net #所要绑的玉米
  </VirtualHost>



  这样就绑上对应的目录了,如果没有NameVirtualHost 192.168.1.1 这个指令的话,所有的玉米就都指到php目录了.
  然后重新启动apache,就可以看到所指的玉米对应相应的虚拟目录!

?


Example:
<VirtualHost 10.1.2.3>
ServerAdmin webmaster@host.example.com
DocumentRoot /www/docs/host.example.com
ServerName host.example.com
ErrorLog logs/host.exam