我已经尝试了数十种指南并阅读了大量信息,但我仍然找不到解决我的问题的方法。我已经卸载、重新安装并检查并仔细检查了每个可能的问题。
问题依旧。无论我做了什么更改,文档根目录始终显示为 c:\wamp\www。
即使我将 httpd.conf DocumentRoot 更改为另一个路径,它仍然显示为 c:\wamp\www
奇怪的是,如果虚拟主机设置错误,我的 index.php 应该不会显示。但事实上确实如此。我有一行代码来回应 $_SERVER['DOCUMENT_ROOT']
,它总是显示为 c:\wamp\www 而不是我分配的任何虚拟主机文档根。
因此页面加载,当然有错误。我的页面都引用了 $_SERVER['DOCUMENT_ROOT']
并且在我的实时网站上都完美运行。
所以最重要的是我已经前后检查了我的配置。/与\,hosts 文件正确,文档根路径正确并指向包含正确文件的实际文件夹。我玩过每一种“标准”和非标准配置的可能性。
必须有一些其他因素阻止它工作。如果可以,请帮忙。
请不要建议我尝试其他配置。我都试过了。
请告诉我您知道为什么会发生这种情况以及如何解决它。我的脚本几乎可以解决问题,但感觉还没有解决。我为张贴者留言,但没有收到他的回音。
我希望这里有人有解决办法,而不是建议尝试另一个配置。除非你知道这个问题并有解决办法,否则请不要回复。这听起来可能很粗鲁,但我已经看到并尝试了所有配置。
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>
是配置。为什么我不能在评论中使用回车进行编辑?
最佳答案
在 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,与所有虚拟主机相同,最后一个将优先于前面的。您最后一个虚拟主机的文档根目录是 C:\wamp\www
- 使您描述的行为完全正常。
更新:
由于文档根目录 C:\wamp\www\computerstore
是为域名 computerstore.local
指定的,请记住也转到 http://computerstore.local
在您的浏览器中。如果你尝试http://localhost/computerstore
,域名将被解析为localhost
,并且在第一个虚拟主机中,它的文档根目录被设置为C :\wamp\www
。 computerstore
将被视为一个子目录;在这种情况下,docroot 不会更改。
关于php - Wamp vhost docroot 始终显示为 c :\wamp\www not the vhost docroot,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5559666/