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 項目的文件根目錄,還需要注意什麼?
vista 不會對您的使用者編輯的管理員擁有的文件進行欺騙,基本上是製作只有您的使用者才能看到的副本?我相信這是“文件系統重定向”——嘗試 runas + 管理員,你會發現 httpd.conf 並沒有真正改變。