我在httlp-vhosts.conf中有以下Virtualhost配置:
<VirtualHost *:80>
ServerName rest.budgettracker.loc
DocumentRoot "C:/xampp/htdocs/budget-develop/budget-develop/api/public"
错误日志"logs/rest.budgettracker.loc-error.log"
CustomLog "logs/rest.budgettracker.loc-access.log"常见
</虚拟主机>
<VirtualHost *:80>
ServerName dev.budgettracker.loc
DocumentRoot "C:/xampp/htdocs/budget-develop/budget-develop"
ErrorLog "logs/budgettracker.loc-error.log"
CustomLog "logs/budgettracker.loc-access.log"常见
</虚拟主机>
当我在浏览器中输入dev.budgettrackerpro.com时,它会转到rest.budgettrackerpro.loc虚拟主机容器 .
如果我删除其余请求的Virtualhost容器,它会正确指向正确的html / javascript代码 . 显然我需要其余的调用才能使其正常工作 . 我研究了这个,直到我脸色发青,我做错了什么?请帮忙
1 回答
你问的是dev.budgettrackerpro . com . 您的配置适用于dev.budgettrackerpro . loc .
会发生什么:
Apache看到您的请求在端口80上(http://.. . )
它检查哪些
VirtualHost
配置为从端口80获取流量 .这里找到2. 1)rest.budgettracker.loc 2)dev.budgettracker.loc
由于您询问的域( .com )与1)或2)不匹配,因此Apache假定它应该使用的VirtualHost是它找到的第一个 .
Apache在找到多个VirtualHost或找不到匹配时使用文件中的第一个(从上到下) .
解决这个问题:
索取http://dev.budgettracker.loc
修改您的
VirtualHost
以接受流量表.com
,如下所示:注意新行
ServerAlias dev.budgettracker.com
. 您可以在VirtualHost
中有多个ServerAlias
,但只有一个ServerName
.