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

Posted

技术标签:

【中文标题】MAC 上的 XAMPP - 将目录和虚拟主机更改为其他卷【英文标题】:XAMPP on MAC - change directory and virtual hosts to other volume 【发布时间】:2017-02-09 19:35:54 【问题描述】:

我正在尝试将我的默认 htdocs 文件夹从

/Applications/xamppfiles/htdocs/

到另一个分区上的文件夹

/Volumes/Webserver/xampp/htdocs/

这恰好是安装 XAMPP for Windows 的目录,允许我为我的网站项目使用相同的目录,无论我是在 Windows 还是 MAC 上编码。 (注意:我使用的是带有 Bootcamp 和 ParagonNTFS 的 Macbook Air,因此可以读/写 NTFS 分区)

我已成功调整 httd.conf 和 vhost.conf 文件并设法重新定位 localhost 目录以指向另一个卷上的文件,但我不想更改 localhost 目录,而是创建一个新的虚拟将我指向另一卷的主​​机。所以简而言之,我想要这三个域

localhost -> /Applications/xamppfiles/htdocs/

site1.local -> /Volumes/Webserver/xampp/htdocs/project1/

site2.local -> /Volumes/Webserver/xampp/htdocs/project2/

现在的问题是,在我的浏览器中输入 site1.local 或 site2.local 时,浏览器将我重定向到 google,因为它找不到文件夹。

如果我更改 localhost 的转发目录,一切正常。

localhost -> /Volumes/Webserver/campp/htdocs/project1/

以下配置在这里发挥作用:

httd.conf

DocumentRoot "/Volumes/Webserver/xampp/htdocs"
<Directory "/Volumes/Webserver/xampp/htdocs">

Include etc/extra/httpd-vhosts.conf

httpd-vhosts.conf

# Project1
<VirtualHost *:80>
    ServerName site1.local
    DocumentRoot "/Volumes/Webserver/xampp/htdocs/project1"
    <Directory "/Volumes/Webserver/xampp/htdocs/project1">
        Options Indexes FollowSymLinks Includes ExecCGI
        AllowOverride All
        Require all granted
    </Directory>
    ErrorLog "logs/site1.local-error_log"
</VirtualHost>


# Project2
<VirtualHost *:80>
    ServerName site2.local
    DocumentRoot "/Volumes/Webserver/xampp/htdocs/project2"
    <Directory "/Volumes/Webserver/xampp/htdocs/project2">
        Options Indexes FollowSymLinks Includes ExecCGI
        AllowOverride All
        Require all granted
    </Directory>
    ErrorLog "logs/site2.local-error_log"
</VirtualHost>

# localhost [must be included as the default named server]
<VirtualHost *:80>
    ServerName localhost
    DocumentRoot "/Volumes/Webserver/xampp/htdocs"
    <Directory "/Volumes/Webserver/xampp/htdocs">
        Require all granted
    </Directory>
</VirtualHost>

我可以正常访问本地主机,但 site1 和 site2 不工作。如果我更改本地主机的文档根目录,我可以正常访问。

主机

127.0.0.3 site2.local
127.0.0.2 site1.local
127.0.0.1 localhost

我尝试为每个站点分配自己的 IP 地址,但没有成功。

非常感谢任何帮助。

【问题讨论】:

无论我将它们全部添加为 127.0.0.1 还是给它们单独的 IP,都不起作用。问题是,一旦我在地址栏中输入 site1.local,我最终会进入 google,这将我指向 Vhost 问题。 好的,让apache验证vhost文件。切换到 xampp apache bin 目录并运行:httpd -S。找出选项 run@httpd -help. 【参考方案1】:

必须重新启动大约 10 次,但现在似乎设置已生效。我可以确认上述安排有效,但需要完全重启才能生效。

【讨论】:

以上是关于MAC 上的 XAMPP - 将目录和虚拟主机更改为其他卷的主要内容,如果未能解决你的问题,请参考以下文章

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

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

如何在Mac上的PHP中从Xampp本地主机发送邮件?

如何在 Mac OS Big Sur 中更改 xampp htdocs 目录

mac上的xampp-vm在堆栈管理器中安装后找不到'/opt/lampp'目录

带有xampp的Windows上的Wordpress如何更改默认URL