我正在尝试为我的本地开发机器配置虚拟主机,我以前就这样做过,但不知何故,现在遇到了问题。
我正在尝试使用 2 个虚拟主机
http://tickle -> D:\Projects\LearnZendTest\public
http://localhost -> D:\Websites
我的虚拟主机配置如下
<VirtualHost *:80>
DocumentRoot "D:/Projects/LearnZendTest/public"
ServerName learnzendtest
<Directory "D:/Projects/LearnZendTest/public">
AllowOverride All
Options All
Order allow,deny
Allow from 127.0.0.1
</Directory>
</VirtualHost>
<VirtualHost *:80>
DocumentRoot "D:/Websites"
ServerName localhost
<Directory "D:/Websites">
AllowOverride All
Options All
Order allow,deny
Allow from 127.0.0.1
</Directory>
</VirtualHost>
我注意到 apache 只考虑第一个条目。如果我有 localhost 的第一个条目,即使我转到http://tickle,我会去D:\Websites
。我该如何解决这个问题?
答案1
我没有看到值为 的 ServerName 或 ServerAlias tickle
。有了这些设置,我期望D:/Projects/LearnZendTest/public
得到服务。
在你的<VirtualHost>
区块上方,你还应该有以下内容:
NameVirtualHost *:80
这将启用基于名称的虚拟主机(具有相同 IP 的多个 VirtualHost,通过 ServerName 或 ServerAlias 区分。如果您希望 ApacheD:/Websites/
为提供服务http://tickle/
,则应修改ServerName localhost
为ServerName tickle
或添加ServerAlias tickle
(在 ServerName 下面就可以了)。最后,需要更改 hosts 文件以便您的浏览器映射http://tickle/
到127.0.0.1
。C:\Windows\System32\drivers\etc\hosts
用记事本编辑(需要管理员权限)。添加:
127.0.0.1 tickle
链接: