Apache 拒绝更改 DocumentRoot

Apache 拒绝更改 DocumentRoot

我已经在 Windows 7 Ultimate 64 位上的默认位置安装了 Zend Server CE 5.1.0,这意味着我的 htdocs 路径是C:\Program Files (x86)\Zend\Apache2\htdocs。每次我从 Eclipse 中的 SVN 检出项目时,我都不想输入这个路径。

我想将 DocumentRoot 设置为不同的文件夹,即D:\www

我做了什么

我编辑了conf/httpd.conf,其中重要的几行是:

DocumentRoot "D:\www"
<Directory "D:\www">
    Options Indexes FollowSymLinks
    AllowOverride All
    Order allow,deny
    Allow from all
</Directory>
Include conf/extra/httpd-vhosts.conf

我进行了编辑conf/extra/httpd-vhosts.conf以添加虚拟主机:

NameVirtualHost *:80

<VirtualHost *:80>
    DocumentRoot              D:\www
    ServerName                localhost
    ServerAlias               localhost
    SetEnv APPLICATION_ENV    development
    SetEnv APPLICATION_DOMAIN localhost
</VirtualHost>

<VirtualHost *:80>
    DocumentRoot              D:\www\UmbraCMS
    ServerName                umbracms.local
    ServerAlias               umbracms.local
    SetEnv APPLICATION_ENV    development
    SetEnv APPLICATION_DOMAIN umbracms.local
</VirtualHost>

我进行了编辑C:\Windows\System32\drivers\etc\hosts以添加此行:

127.0.0.1 umbracms.local

我还向 添加了 PHP 项目D:\www\UmbraCMS。然后重新启动了 Apache。实际上,为了以防万一,我还重新启动了计算机。

应该发生什么

在浏览器的地址栏中输入内容后http://umbracms.local/,我显然希望看到我的 PHP 项目启动。

实际情况

无论我输入http://umbracms.local/http://localhost/,我都会被带到位于 的测试 zend 页面C:\Program Files (x86)\Zend\Apache2\htdocs\index.html,就好像 DocumentRoot 没有改变,基于名称的虚拟主机也没有起作用一样。

有趣的是,当我放入另一个项目C:\Program Files (x86)\Zend\Apache2\htdocs\bugraid\,然后在浏览器中输入时http://localhost/bugraid,该项目实际上打开了,或者至少尝试打开,因为它完全忽略了该项目的.htaccess文件。

额外注意事项

Zend Server的Apache版本是2.2.16,PHP版本是5.3.0

我已经单独安装了 MySQL CE 5.5.13,并且它可以从命令行和通过 MySQL Workbench 运行。

我安装了 XAMPP,但其组件均未启动。它自带 Apache 2.2.17 和 MySQL 5.5.1。PHP 版本是 5.3.5(我认为)。

问题

您以前遇到过类似的情况吗?为了让 Zend Server 的 Apache 用作D:\www我的 PHP 项目的文档根目录,还需要注意什么?

答案1

Vista 不会对用户编辑的管理员拥有的文件进行欺骗,基本上是制作只有用户才能看到的副本吗?我相信这是“文件系统重定向”——尝试使用 runas + 管理员,你会发现 httpd.conf 并没有真正改变。

相关内容