【问题标题】:How to host 2 projects on 2 different subdomains using virtual hosts in MAMP如何使用 MAMP 中的虚拟主机在 2 个不同的子域上托管 2 个项目
【发布时间】:2020-02-09 17:52:31
【问题描述】:

我不太确定我想要做的事情是否可行。

目前我正在使用 MAMP 自己托管我的项目。这些项目是托管的,知道我的 IP 地址的人可以在他们的 URL 栏中键入我的 IP 地址时访问它们。当他们访问我的 IP 时,他们会看到我的项目目录列表,如下所示:

我想知道是否有可能使当有人键入 charter.54.135.14.176 时,他会看到章程文件夹的内容,而当他键入 LeagueOfLegendsFrontend.54.135.14.176 时,他会看到英雄联盟前端文件夹的内容。

我一直在看有关虚拟主机的教程视频,但我感到很困惑。我知道我必须做两件事:

首先,转到 httpd-vhosts.conf 并为每个项目创建一个虚拟主机。像这样的:

<VirtualHost *:80>
    ServerName ???
    ServerAlias ???
    DocumentRoot "C:\MAMP\htdocs\Charter"
</VirtualHost>

<VirtualHost *:80>
    ServerName ???
    ServerAlias ???
    DocumentRoot "C:\MAMP\htdocs\League Of Legends Frontend"
</VirtualHost>

我有点不知道我要在 ServerName 和 ServerAlias 上写什么

其次,我需要转到 hosts 文件并添加以下内容:

54.135.14.176   ???

最后,我需要通过在 httpd.conf 文件中取消注释 Include conf/extra/httpd-vhosts.conf 来包含虚拟主机。可悲的是,我被困在了其他方面。

【问题讨论】:

    标签: apache virtualhost


    【解决方案1】:

    您需要为您的项目分配两个不同的 IP 地址。因此,所需的配置可能如下所示:

    <VirtualHost 127.0.0.2:80>
        ServerName charter.zxc
        DocumentRoot "C:\MAMP\htdocs\Charter"
    </VirtualHost>
    
    <VirtualHost 127.0.0.3:80>
        ServerName lol-frontend.zxc
        DocumentRoot "C:\MAMP\htdocs\League Of Legends Frontend"
    </VirtualHost>
    

    如果需要,您当然可以添加目录设置、日志和其他内容,但我只展示非常基本的设置。然后在你的主机文件中添加:

    127.0.0.2 charter.zxc
    127.0.0.3 lol-frontend.zxc
    

    【讨论】:

    • 无论我访问哪个 IP,我总是看到根文件夹 htdocs 而不是实际的具体项目。
    • @Bobimaru 首先,我建议你在 XAMPP 上尝试同样的事情,因为 MAMP 的设计真的很糟糕。如果这不起作用,请向我展示您项目的 httpd-vhosts.conf、etc\hosts 和 .htaccess 文件的全部内容。您使用哪个版本的 Windows?
    猜你喜欢
    • 1970-01-01
    • 2012-06-28
    • 2021-05-06
    • 2016-10-26
    • 2020-03-13
    • 2014-12-26
    • 2016-10-22
    • 2014-11-19
    • 2014-08-06
    相关资源
    最近更新 更多