我试图在我的本地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 ......我错过了什么?
答案 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中,它没有显示它没有保存,相反它显示为已保存。在普通记事本中打开它,当你尝试更换它时,它说访问被拒绝。可能是因为这些文件夹没有用户的修改权限。因此,你需要