4

我正在尝试在本地主机上的苹果 mac 上设置一个虚拟主机。服务器由 XAMPP 提供,它将 Apache/MySQL/PHP 捆绑在一个包中。

这是我到目前为止所做的:

编辑 /private/etc/hosts 以包含 127.0.0.1 以指向 test.myserver.local

127.0.0.1       test.myserver.local

编辑 /Applications/XAMPP/etc/extra/httpd-vhosts.conf 以包含我的虚拟主机详细信息

<VirtualHost *:80>
   DocumentRoot /Users/???/Documents/workspace/trunk/htdocs
   ServerName test.myserver.local
  <Directory "/Users/???/Documents/workspace/trunk/htdocs">
     AllowOverride All
  </Directory>
</VirtualHost>

在其中放置了一个简单的 index.html,其中包含 test 一词。

我已经重新启动了服务器,然后浏览到测试 url 以迎接 Apache 的默认页面而不是我的测试页面。vhosts 文件适用于另一个虚拟主机,复制代码并更改相应的位(即文件夹路径),hosts 文件有效,当 Apache 关闭时,我的浏览器显示找不到服务器。

为什么 Apache 拒绝显示我的测试代码?我还需要更改其他文件吗?我想不出任何其他的,它通常只是那些在 linux/windows 上的。

4

3 回答 3

6

在 xampp 上,您需要编辑 3 个文件来设置虚拟主机

/etc/hosts 和 /Applications/XAMPP/etc/extra/httpd-vhosts.conf 就像你做的那样。

但您还需要编辑 /Applications/XAMPP/xamppfiles/etc/httpd.conf 以包含 http-vhosts.conf

确保您已取消注释此行

# Virtual hosts
Include /Applications/XAMPP/etc/extra/httpd-vhosts.conf

编辑

您是否尝试添加此行

Order allow,deny
Allow from all

就在之前

AllowOverride All
于 2013-03-13T19:21:30.460 回答
1

尝试将“localhost”的设置留在文件“httpd-vhosts.conf”的末尾,即:

#
# Virtual Hosts
#
...

# others vhost
<VirtualHost *:80>
...
</VirtualHost>

# localhost
<VirtualHost *:80>
    ServerName localhost
    DocumentRoot "/Applications/XAMPP/xamppfiles/htdocs"
    <Directory "/Applications/XAMPP/xamppfiles/htdocs">
        Options Indexes FollowSymLinks Includes execCGI
        AllowOverride All
        Order Allow,Deny
        Allow From All
    </Directory>
</VirtualHost>
#end of httpd-vhosts.conf file

为我工作,问候!

于 2013-04-13T14:19:52.607 回答
0

您是否告诉 Apache 实际使用基于名称的虚拟主机?

# Use name-based virtual hosting.
#
NameVirtualHost *:80

我不相信它在 Mac 上的 Xampp 中默认启用。

于 2013-03-13T01:13:16.697 回答