Php 在windows上更改apache的documentroot不是';行不通
我正在尝试将本地windows计算机上的documentroot更改为指向htdocs下面的子目录。我已经更改了httpd.conf中的DocumentRoot位置以及目录位置。我重新启动了Apache,但用PHP打印出文档根,它仍然指向默认位置 httpd.conf中的更改:Php 在windows上更改apache的documentroot不是';行不通,php,apache,Php,Apache,我正在尝试将本地windows计算机上的documentroot更改为指向htdocs下面的子目录。我已经更改了httpd.conf中的DocumentRoot位置以及目录位置。我重新启动了Apache,但用PHP打印出文档根,它仍然指向默认位置 httpd.conf中的更改: DocumentRoot "C:/Program Files/Apache Software Foundation/Apache2.2/htdocs/folder_test/website" <Directory
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>
我的PHP代码:
<?php
//Get the document root
$root = getenv("DOCUMENT_ROOT") ;
Echo $root;
?>
我重新启动了Apache…我缺少什么?嘿,如果仍然没有回答: 有时,当您在httpd.conf中更改文档根目录和其他信息时,它不会反映这一点,因为您所做的更改根本不会保存。在记事本++和diffmerge中,它不显示未保存,相反,它显示为已保存。在普通记事本中打开它,当您尝试替换它时,它会显示访问被拒绝。这可能是因为这些文件夹没有用户的修改权限。因此,为此,您需要
<VirtualHost _default_:80>
DocumentRoot "${SRVROOT}/htdocs"
#ServerName www.example.com:80
</VirtualHost>
DocumentRoot“${SRVROOT}/htdocs”
#ServerName www.example.com:80
部分以反映所需的目录,在您的情况下:
<VirtualHost _default_:80>
DocumentRoot "${SRVROOT}/htdocs/folder_test/website"
#ServerName www.example.com:80
</VirtualHost>
DocumentRoot“${SRVROOT}/htdocs/folder_test/website”
#ServerName www.example.com:80
在搜索了数百个主题后,这终于对我有用了!谢谢,这对我很有效。然后我收到一条消息:“访问被禁止!”消息,我还必须将directory元素添加到vhost conf文件中,您可以在这里阅读更多信息:
<VirtualHost _default_:80>
DocumentRoot "${SRVROOT}/htdocs/folder_test/website"
#ServerName www.example.com:80
</VirtualHost>