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

apache2.2.4设置多个站点的问题
我现在是这样设置的,没有问题
httpd.conf:

DocumentRoot   "D:/java/www/WebApp "

#
#   This   should   be   changed   to   whatever   you   set   DocumentRoot   to.
#
<Directory   "D:/java/www/WebApp ">
    Options   Indexes   FollowSymLinks
    AllowOverride   all
    Order   allow,deny
    Allow   from   all
</Directory>

D:/java/www是根目录,WebApp是根目录下的一个项目
tomcat和apache连接的mod_jk.so就不说了

虚拟主机设置是:
NameVirtualHost   *:80
<VirtualHost   www.text.com:80>
        ServerAdmin   abc@abc.com
        ProxyPass   /   ajp://localhost:8009/
        ProxyPassReverse   /   ajp://localhost:8009/
        DocumentRoot   D:/java/www/WebApp
        ServerName   www.text.com
        DirectoryIndex   index.html   index.htm   index.jsp
        ErrorLog   logs/www.text.com-error_log
        CustomLog   logs/www.text.com-access_log   common
</VirtualHost>
这样设置没有问题了。通过www.text.com可以访问正常。

现在的问题是:
在根目录下还有一个项目:
D:/java/www/NetApp
我对这个项目设置虚拟主机如下:
<VirtualHost   www.text2.com:80>
        ServerAdmin   abc@abc.com
        ProxyPass   /   ajp://localhost:8009/
        ProxyPassReverse   /   ajp://localhost:8009/
        DocumentRoot   D:/java/www/NetApp
        ServerName   www.text2.com
        DirectoryIndex   index.html   index.htm   index.jsp
        ErrorLog   logs/www.text2.com-error_log
        CustomLog   logs/www.text2.com-access_log   common
</VirtualHost>

这样的话,httpd.conf下的DocumentRoot该如何设置呢
我理想的是DocumentRoot指向存放项目的根目录D:/java/www
但是在目前只设置一个WebApp的情况下,我这样改就不对,
不知道我说明白了没有,请赐教!

------解决方案--------------------
第1个VirtualHost的DocumentRoot必须跟最前面的全局DocumentRoot一样

LZ可以把全局DocumentRoot设为D:/java/www,再添加一个VirtualHost(要放在其他VirtualHost的前面),其DocumentRoot设为D:/java/www