2012-03-04 61 views
2

我試圖將本地windows計算機上的documentroot更改爲指向htdocs下面的子目錄。我已經改變了httpd.conf中的DocumentRoot位置以及目錄位置。我重新啓動了Apache,但用PHP打印出文檔根目錄,它仍指向默認位置。在Windows上更改apache的documentroot無法正常工作

httpd.conf中的變化:

DocumentRoot "C:/Program Files/Apache Software Foundation/Apache2.2/htdocs/folder_test/website" 

<Directory "C:/Program Files/Apache Software Foundation/Apache2.2/htdocs/folder_test/website"> 
Options Indexes FollowSymLinks 
AllowOverride None 
Order allow,deny 
Allow from all 
</Directory> 

當我瀏覽到http://localhost/folder_test/website我看到我的PHP輸出如下:

C:/Program Files/Apache Software Foundation/Apache2.2/htdocs 

我的PHP代碼:

<?php 
    //Get the document root 
    $root = getenv("DOCUMENT_ROOT") ; 
    Echo $root; 
?> 

我重新啓動了Apache ...我錯過了什麼?

回答

0

嘿,如果這還沒有得到解答: 有時當你改變httpd.conf中的文檔根目錄和其他信息時,它並不反映它,因爲你所做的更改根本沒有保存。在記事本++和diffmerge中,它不會顯示它不會被保存,反而會顯示爲已保存。在正常的記事本中打開它,當你試圖替換它說拒絕訪問。可能是因爲這些文件夾沒有用戶修改權限。因此,對於這個目的,你需要

  1. 保存在單獨的文件中的更改其他地方使用相同的名稱 的httpd.conf
  2. 重命名的http.conf Apache的根文件裏面 httpd_backup.conf或直接刪除它。
  3. 現在將您創建的新文件(即httpd.conf)複製到apache 根文檔。
  4. 轉到「開放阿帕奇監控」,並在瀏覽器,重新
  5. 清除所有緩存和Cookie,然後再試一次
2

打開「\的conf \額外\的httpd-vhosts.conf」文件。

更改

<VirtualHost _default_:80> 
DocumentRoot "${SRVROOT}/htdocs" 
#ServerName www.example.com:80 
</VirtualHost> 

部分,以反映所需的目錄,你的情況:

<VirtualHost _default_:80> 
DocumentRoot "${SRVROOT}/htdocs/folder_test/website" 
#ServerName www.example.com:80 
</VirtualHost> 
+0

數百主題這次終於爲我工作搜索後!謝謝。 – decadenza 2015-04-13 11:10:56

相關問題