需要 Apache vhosts 帮助

需要 Apache vhosts 帮助

我正在尝试为我的本地开发机器配置虚拟主机,我以前就这样做过,但不知何故,现在遇到了问题。

我正在尝试使用 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 localhostServerName tickle或添加ServerAlias tickle(在 ServerName 下面就可以了)。最后,需要更改 hosts 文件以便您的浏览器映射http://tickle/127.0.0.1C:\Windows\System32\drivers\etc\hosts用记事本编辑(需要管理员权限)。添加:

127.0.0.1 tickle

链接:

相关内容