Apache拒绝更改DocumentRoot

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

我想将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 

而且我还在D:\www\UmbraCMS添加了一个PHP项目。 并重新启动Apache。 其实,我也重启电脑,以防万一。

应该发生什么

在浏览器的地址栏中inputhttp://umbracms.local/后,我想看到我的PHP项目启动,显然。

实际上发生了什么事

无论我是inputhttp://umbracms.local/还是http://localhost/ ,我都会进入testingzend页面,位于C:\Program Files (x86)\Zend\Apache2\htdocs\index.html ,就好像DocumentRoot没有被更改,也没有名称的虚拟主机工作。

有趣的是,当我把另一个项目放在C:\Program Files (x86)\Zend\Apache2\htdocs\bugraid\ ,然后在浏览器中inputhttp://localhost/bugraid ,项目实际打开,或者至less尝试因为它完全忽略了项目的.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项目的文档根目录?

不要用你的用户编辑的pipe理员拥有的文件玩游戏,基本上只复制只有你的用户看到的副本? 我相信这是“filesytemredirect” – 尝试runas +pipe理员,你会看到httpd.conf并没有真正改变。