在 Mac 上的 XAMPP 上设置虚拟主机

Posted

技术标签:

【中文标题】在 Mac 上的 XAMPP 上设置虚拟主机【英文标题】:Setting up a virtual host on XAMPP on Mac 【发布时间】:2013-02-18 20:07:33 【问题描述】:

我正在尝试在本地主机上的苹果 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 上的。

【问题讨论】:

您能告诉我们您在/private/etc/hosts/Applications/XAMPP/etc/extra/httpd-vhosts.conf 中编辑的内容并在问题中更新吗?编辑后是否重新启动了 Apache 服务器? 你后来重启了apache对吧? 我试过了,但它似乎删除了我所有的标签,所以看起来不太好。我会再试一次。 @prodigitalson 绝对。我已经这样做了好几次了,所以我有点难过。 我曾经听说如果您没有将 localhost vhost 条目留在其中,某些版本的 XAMPP 会出现问题...您可能想尝试将其添加回来。远射,但也许...... :) 【参考方案1】:

在 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

【讨论】:

就像我说的,这个文件已经包含了。我还有其他可以工作的虚拟主机。 您必须编辑的第三个文件是什么?你刚才提到的 2 和前面的方法一样 这是hosts文件!【参考方案2】:

尝试将“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

为我工作,问候!

【讨论】:

【参考方案3】:

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

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

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

【讨论】:

是的,它已经为其他一些虚拟主机设置并且它们可以工作。不管怎么说,还是要谢谢你。有第二双眼睛总是好的。 @Danack 这个选项到底在哪里?在http-vhosts.conf?

以上是关于在 Mac 上的 XAMPP 上设置虚拟主机的主要内容,如果未能解决你的问题,请参考以下文章

MAC 上的 XAMPP - 将目录和虚拟主机更改为其他卷

如何从虚拟机访问由 XAMPP 创建的虚拟主机?

带有 Xampp 的虚拟主机上的链接不起作用

XAMPP 虚拟主机上未找到对象错误

虚拟主机路径的 Apache 前缀路径

在 xampp 上设置虚拟主机