我的虚拟主机在本地机器上安装了apache2。
在我的主机文件中,我有这个:
127.0.1.1 mysite
'mysite'是一个网站,其中我有PHP脚本使用包括('/path/到/无论');
如果我在浏览器的url中键入“mysite”,一切正常。
但是如果我inputhttp:// localhost / mysite ,
我得到的错误,如: 警告:包括(/media/Shared/sites/www/includes/functions.php
注意错误,在'www'之后,它缺less'mysite'。 所以我的脚本认为“www”是根,而不是“www / mysite”。 这是一个问题,因为当我通过我的外部IP访问网站时会发生同样的事情。
我怎样才能解决这个问题?
访问http:// localhost / mysite /时 ,Apache将使用Apache的优先规则来查找正确的虚拟主机 ,Apache官方文档中详细描述了这些规则。 这取决于你如何设置不同的虚拟主机。
您需要在mysite虚拟主机设置中有一个“ServerAlias localhost”,否则Apache很可能会使用那个000-default vhost。 如果您在该IP的NameVirtualHosts规则下运行,则Apache将使用请求的Host:头来查找正确的虚拟主机,如果没有匹配,则将使用为该IP /端口定义的第一个虚拟主机。
您的“mysite”是您的虚拟主机列表中的第一个条目吗? 如果没有,那么访问http:// localhost / mysite /将不会使用预期的虚拟主机条目。 除非所请求的主机名与您的configuration中的ServerName或ServerAlias条目匹配(允许使用通配符),否则Apache将不会使用该条目。