【问题标题】:apache configuration - what am I missing here?apache配置-我在这里缺少什么?
【发布时间】:2010-12-24 04:45:48
【问题描述】:

我有一台 windows XP 机器,将 apache 安装在 C:\Program Files\Apache Software Foundation\Apache2.2

我将文档根目录设置为 DocumentRoot "C:/projects" 在 httpd.conf 和我的项目是 proj1 和 proj2 在 c:\projects

<VirtualHost *:80>
 DocumentRoot "C:/projects/proj1"

 ServerName  proj1

</VirtualHost>

<VirtualHost *:80>

 DocumentRoot "C:/projects/proj2"

 ServerName  proj2

</VirtualHost>

proj1 和 proj2 都有 index.php 文件。 我加了

127.0.0.1 项目 1

127.0.0.1 proj2

也在 hosts 文件中。

不过,当我输入http://proj1 时,我只看到文件列表,虚拟目录不起作用。我错过了什么?

【问题讨论】:

  • 自从更改配置文件后,您是否重新启动/重新加载了 apache 服务?

标签: apache virtual-directory


【解决方案1】:

除了重新启动/重新加载 Apache 之外,还有其他一些事情需要检查:

首先,以下是有效的虚拟主机配置示例:

<VirtualHost *:80>
    ServerName proj1
    DocumentRoot "c:/www/proj1"
    <Directory "c:/www/proj1" >
        AllowOverride All
        Order allow,deny
        Allow from all
    </Directory>
</VirtualHost>

<VirtualHost *:80>
    ServerName proj2
    DocumentRoot "c:/www/proj2"
    <Directory "c:/www/proj2" >
        AllowOverride All
        Order allow,deny
        Allow from all
    </Directory>
</VirtualHost>

注意proj1proj2 都有自己的VirtualHost 指令。

其次,确保 Apache 正在加载 vhosts 声明。为了让我的工作,我不得不在httpd.conf 中取消注释这一行:

# Virtual hosts
Include conf/extra/httpd-vhosts.conf

【讨论】:

  • 我觉得自己像个白痴 :( Include conf/extra/httpd-vhosts.conf 这一行在我的 httpd.conf 中被评论了 :( 该网站仍然无法正常工作,但至少是虚拟主机部分现在没有问题。非常感谢:)
【解决方案2】:

没有看到你所有的配置文件,信息不够,但这里有几件事需要检查:

  • 启动时 apache 错误日志中有任何提示吗?
  • 确保您的配置文件中有 NameVirtualHost *:80 并且该语句在您的虚拟主机之前加载。
  • 如果您可以看到 proj1 目录的目录列表,则说明 vhost 正在工作,您可以调整目录权限和属性(索引文件、允许的目录列表等)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-09-21
    • 2012-11-21
    • 1970-01-01
    • 2019-07-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-25
    相关资源
    最近更新 更多