我已经尝试了几十本指南,阅读了大量的信息,但我仍然无法找到解决问题的方法。我已经卸载,重新安装和检查,并再次检查每一个可能的问题。
问题仍然存在。无论我做了什么更改,文档根目录总是显示为c:\wamp\www。
即使我将httpd.conf DocumentRoot更改为另一个路径,它仍然显示为c:\wamp\www
奇怪的是,如果虚拟主机设置错误,我的index.php应该不会显示。但事实上,它确实如此。我有一行代码来回显$_SERVER['DOCUMENT_ROOT'],它总是显示为c:\wamp\www,而不是我分配的任何vhosts文档根目录。
所以页面会加载,当然也会有错误。我的页面都引用了$_SERVER['DOCUMENT_ROOT'],并且在我的实时站点上都能完美地工作。
所以底线是我已经前后检查了我的配置。/ vs. \,主机文件正确,文档根路径正确,并且指向包含正确文件的实际文件夹。我尝试过配置的每一种“标准”和非标准可能性。
一定有一些其他的因素在阻止它的工作。如果可以的话,请帮助我。
请不要建议我尝试其他配置。我都试过了。
请告诉我你知道为什么会发生这种情况,以及如何修复它。我有一个脚本,几乎做到了这一点,但我觉得只是缺少修复。我给海报留了言,还没有收到他的回复。
我希望这里的人有一个解决方案,而不是建议尝试另一个配置。除非你知道这个问题并解决了,否则请不要回复。这听起来可能很粗鲁,但我已经看过并尝试过所有的配置。
NameVirtualHost 127.0.0.1:80
<VirtualHost 127.0.0.1:80>
DocumentRoot C:\wamp\www\itsaboutwirelessnetworks
ServerName itsaboutwirelessnetworks.localhost
ServerAlias itsaboutwirelessnetworks
</VirtualHost>
<VirtualHost 127.0.0.1:80>
DocumentRoot C:\wamp\www\computerstore
ServerName computerstore.localhost
ServerAlias computerstore
</VirtualHost>
<VirtualHost 127.0.0.1:80>
DocumentRoot C:\wamp\www
ServerName localhost
ServerAlias localhost
</VirtualHost>是配置。为什么不能在注释中使用回车符进行编辑?
发布于 2011-04-06 07:46:27
在C:\Windows\System32\drivers\etc\hosts中添加以下行:
127.0.0.1 computerstore.local在httpd.conf中,确保未注释此行:
Include "conf/extra/httpd-vhosts.conf"(这应该指向您的vhosts文件的位置)
您的httpd-vhosts.conf文件应包含以下内容:
NameVirtualHost *:80
<VirtualHost *:80>
DocumentRoot C:\wamp\www
ServerName 127.0.0.1
ServerAlias localhost
SetEnv APPLICATION_ENV development
SetEnv APPLICATION_DOMAIN localhost
</VirtualHost>
<VirtualHost *:80>
DocumentRoot C:\wamp\www\conputerstore
ServerName computerstore.local
ServerAlias computerstore.local
SetEnv APPLICATION_ENV development
SetEnv APPLICATION_DOMAIN computerstore.local
</VirtualHost>如果WAMP拒绝加载vhosts文件,请将vhosts配置移到httpd.conf的末尾。
这应该启用基于名称的配置,而不是基于IP的配置。如果不这样设置,Apache将按IP解析站点的路径,并且由于您指定了一个与所有虚拟主机相同的IP,因此最后一个将优先于前面的IP。你的最后一个vhost的docroot是C:\wamp\www --这使得你所描述的行为完全正常。
更新:
由于为域名computerstore.local指定了文档根C:\wamp\www\computerstore,请记住还要转到浏览器中的http://computerstore.local。如果您尝试http://localhost/computerstore,域名将被解析为localhost,并且在第一个vhost中,其文档根被设置为C:\wamp\www。computerstore将被视为一个子目录;在这种情况下,不会更改文档根目录。
发布于 2011-04-07 16:16:57
您是否尝试将C:\wamp\www\conputerstore放在引号之间?
下面是我的vhost配置示例:
<VirtualHost *:8082>
DocumentRoot "c:/wamp/www/test"
DirectoryIndex index.php
<Directory "c:/wamp/www/test">
AllowOverride All
Allow from All
</Directory>
</VirtualHost>https://stackoverflow.com/questions/5559666
复制相似问题