Apache 如何在MAMP中使用虚拟主机在2个不同的子域上托管2个项目

Apache 如何在MAMP中使用虚拟主机在2个不同的子域上托管2个项目,apache,virtualhost,Apache,Virtualhost,我甚至不确定我想做的是可能的 目前我正在使用MAMP自己主持我的项目。这些项目是托管的,当知道我的IP地址的人在URL栏中键入我的IP地址时,他们可以访问这些项目。当他们访问我的IP时,他们会看到我的项目目录列表,如下所示: <VirtualHost *:80> ServerName ??? ServerAlias ??? DocumentRoot "C:\MAMP\htdocs\Charter" </VirtualHost> <Virtu

我甚至不确定我想做的是可能的

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

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

<VirtualHost *:80>
    ServerName ???
    ServerAlias ???
    DocumentRoot "C:\MAMP\htdocs\League Of Legends Frontend"
</VirtualHost>
<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>

我想知道是否有可能这样,当有人键入
charter.54.135.14.176
时,他会看到charter文件夹的内容,当他键入
LeagueOfLegendsFrontend.54.135.14.176
时,他会看到LeagueOfLegendsFrontend文件夹的内容

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

首先,转到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>
<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>

最后,我需要通过在httpd.conf文件中取消注释
include conf/extra/httpd vhosts.conf
来包含虚拟主机。遗憾的是,我被剩下的部分卡住了。

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

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

<VirtualHost *:80>
    ServerName ???
    ServerAlias ???
    DocumentRoot "C:\MAMP\htdocs\League Of Legends Frontend"
</VirtualHost>
<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>

不管我访问哪个IP,我总是看到根文件夹htdocs,而不是实际的特定项目。@Bobimaru首先,我建议你在XAMPP上尝试同样的事情,因为MAMP的设计非常糟糕。如果不起作用,请向我展示项目的httpd-vhosts.conf等\hosts和.htaccess文件的完整内容。您使用哪个版本的Windows?