我最近完成了 IIS -> Apache Web 服务器迁移,但似乎无法弄清楚如何从外部访问默认的 DocumentRoot。该服务器有多个网站并使用虚拟主机。
在 IIS 中,您可以创建一个“默认网站”。我已将其设置为访问我的文档根目录,用于内部脚本等内容,我可以通过外部 IP 访问它;例如,文档根目录是 c:/www,我可以通过http://123.45.6.78/libraries/admin
(c:/www/libraries/admin) 从外部访问。
如何在 Apache 中实现类似功能?我有许多 vhosts 记录:
<VirtualHost *:80>
DocumentRoot "c:/www/website1"
ServerName www.website1.com
</VirtualHost>
<VirtualHost *:80>
DocumentRoot "c:/www/website2"
ServerName www.website2.com
</VirtualHost>
这可以正常工作,但 ServerName 无法接受 IP 地址。我希望我解释得通。
答案1
我自己偶然解决了这个问题。
Apache 将查找 vhost 记录并默认返回到第一个,因此在最顶部的 vhosts 文件中我添加了
<VirtualHost *:80>
DocumentRoot "c:/www"
</VirtualHost>
我现在可以通过 IP 地址从外部访问它。