/ 中存储网

Apache服务器虚拟目录和虚拟主机设置

2014-03-25 08:00:03 来源:kejihao
一:关于apache虚拟目录alias

  关于apache虚拟目录的问题,apache的config文件中documentRoot 后面的是apache在解析页面时候的跟目录,如果在本机上同是存在两个工作目录那么如果不虚拟(alias)目录的话,需要不断修改documentroot的路径,然后重启apache,相当麻烦,解决这个问题的办法之一就是设置虚拟目录,具体做法如下:

Alias /虚拟目录名/ "盘符:/路径/"

<Directory "盘符:/路径/">

   Options Indexes MultiViews

   AllowOverride None

   Order allow,deny

   Allow from all

</Directory>

但是虚拟目录有一个不好处是,工作目录只能放到某个盘的根目录下,比如:d:/workfolder1 , d:/workfolder2,如果不这样放,那么apache在解析根的时候就出问题了。

比如我现在的工作目录是:d:/workspace/workfolder1 , d:/workspace/folder2,那么用alias就实现不了了,如何解决呢,用apache的虚拟主机

二:虚拟主机:

具体做法是:

   NameVirtualHost *

<VirtualHost *>

ServerName www.domain.tld

DocumentRoot d:/workspace/workfolder1

</VirtualHost>

<VirtualHost *>

ServerName www.otherdomain.tld

DocumentRoot d:/workspace/workfolder2

</VirtualHost>

当然里面还有

ServerAlias

ServerPath

等参数,可以不设置,具体参考官方手册:http://httpd.apache.org/docs/2.0/vhosts/

如果是在本机上还需要解决hosts的问题,你这样虚拟之后如果host文件不做转向处理,那么是有冲突的,需要在host文件中加这两句:

127.0.0.1 www.domain.tld

127.0.0.1 www.otherdomain.tld

然后关掉浏览器,重启apache服务,ok,这样就搞定了,通过浏览器这样访问自己的工作目录就可以了

http//:www.domain.tld访问:d:/workspace/workfolder1

http://www.domain.tld访问:d:/workspace/workfolder2