日期:2014-05-16  浏览次数:20816 次

apache 配置多站点 报404错误
照着视频敲的 修改了apache httpd.conf文件的载入 
取消了虚拟目录的组件LoadModule vhost_alias_module modules/mod_vhost_alias.so 注释
以及# Virtual hosts
Include conf/extra/httpd-vhosts.conf
并在文件httpd-vhosts.conf修改了

NameVirtualHost *:8080
<VirtualHost *:8080>
    DocumentRoot "E:/apache/b_com"
    ServerName 172.30.65.2
</VirtualHost>
<VirtualHost *:8080>
    DocumentRoot "E:/apache/a_com"
    ServerName 172.30.65.1
</VirtualHost>
apache

------解决方案--------------------
这个是基于IP的。。 
http://httpd.apache.org/docs/2.4/vhosts/

#NameVirtualHost *:8080
<VirtualHost 172.30.65.2:8080>
    DocumentRoot "E:/apache/b_com"
    ServerName 172.30.65.2
</VirtualHost>
<VirtualHost 172.30.65.1:8080>
    DocumentRoot "E:/apache/a_com"
    ServerName 172.30.65.1
</VirtualHost>


再不行LZ看看下面俩个标签之前的访问控制。
<Directory />
</Directory>
------解决方案--------------------
基于名称的虚拟主机 (每个 IP 多个站点)
NameVirtualHost *:8080

基于 IP 的虚拟主机 (每个 IP 一个站点)
VirtualHost *:8080

注释掉的第一行替换为以下试试:
VirtualHost *:8080

------解决方案--------------------
你的问题跟我的一样,我的解决方案,100% OK http://blog.csdn.net/cngdjws/article/details/12753635
------解决方案--------------------
引用:
基于名称的虚拟主机 (每个 IP 多个站点)
NameVirtualHost *:8080

基于 IP 的虚拟主机 (每个 IP 一个站点)
VirtualHost *:8080

注释掉的第一行替换为以下试试:
VirtualHost *:8080


刚去VPS上面实测了下,只有多个网站共用IP的时候才需要写
NameVirtualHost ×:80

一个IP一个网站的时候,直接按照上面2L写法。