我在Windows机器上设置了一个本地开发站点 - 我正在使用WampServer来执行此操作。
我已经在' local.conf'中设置了a)网站的vhost定义。档案& b)将本地URL添加到我的hosts文件中,如下所示:
<VirtualHost *:80>
ServerAdmin aa@abc.co.uk
DocumentRoot "c:/wwwroot/mycompany/public_html"
ServerName local.mycompany
<Directory "c:/wwwroot/mycompany/public_html">
Options +Indexes
AllowOverride All
</Directory>
ErrorLog "c:/wwwroot/mycompany/log/error.log"
CustomLog "c:/wwwroot/mycompany/log/access.log" common
LogLevel debug
SetEnv MYCOMPANY_ENVIRONMENT TOM
</VirtualHost>
在我的主机文件中,我有以下内容:
127.0.0.1 mycompany.local www.local.mycompany
使用这种结构似乎适用于我的开发机器上的所有其他网站,虽然我不明白为什么现在这不起作用?
有问题的开发网站是Yii网站(如果有帮助的话) - 当我进入浏览器并尝试加载以下内容时:
http://mycompany.local
它不是显示开发站点,而是显示默认的WampServer页面(就像我去http://localhost
一样的页面)任何人都可以建议为什么?
答案 0 :(得分:1)
这可能只是一个错字。
根据经验,如果虚拟主机配置错误,Apache将默认为VHOST定义中的第一个站点,这可能就是为什么会发生这种情况。我假设localhost是第一个定义的站点。
你有
ServerName local.mycompany
VHOST定义中的和
mycompany.local
此外,你应该真正定义允许谁在<VirtualHost><Directory>
定义中连接到此网站,如此
<VirtualHost *:80>
ServerAdmin aa@abc.co.uk
DocumentRoot "c:/wwwroot/mycompany/public_html"
ServerName local.mycompany
<Directory "c:/wwwroot/mycompany/public_html">
Options +Indexes
AllowOverride All
Require local <-- assuming Apache 2.4
</Directory>
ErrorLog "c:/wwwroot/mycompany/log/error.log"
CustomLog "c:/wwwroot/mycompany/log/access.log" common
LogLevel debug
SetEnv MYCOMPANY_ENVIRONMENT TOM
</VirtualHost>