在Windows上更改apache的文档不起作用

时间:2012-03-04 16:31:58

标签: php apache

我试图在我的本地Windows机器上更改文档,以指向htdocs下面的子目录。我已将httpd.conf中的DocumentRoot位置与目录位置一起更改。我重新启动了Apache但是用PHP打印了文档根目录,它仍指向默认位置。

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 ......我错过了什么?

2 个答案:

答案 0 :(得分:2)

打开“\ conf \ extra \ 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>

答案 1 :(得分:0)

嘿如果还没有回答: 有时当您在httpd.conf中更改文档根目录和其他信息时,它并不反映它,因为您所做的更改根本没有保存。在notepad ++和diffmerge中,它没有显示它没有保存,相反它显示为已保存。在普通记事本中打开它,当你尝试更换它时,它说访问被拒绝。可能是因为这些文件夹没有用户的修改权限。因此,你需要

  1. 将更改保存在具有相同名称的单独文件中 的httpd.conf
  2. 将apache根文档中的http.conf重命名为 httpd_backup.conf或者只是删除它。
  3. 现在将您创建的新文件(即httpd.conf)复制到apache 根文件。
  4. 转到“打开apache监视器”并重新启动
  5. 清除浏览器中的所有缓存和Cookie,然后重试