2012-03-04 52 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

相关问题