Macos 我可以在MAMP上使用虚拟主机和本地主机吗?

Macos 我可以在MAMP上使用虚拟主机和本地主机吗?,macos,apache,mamp,Macos,Apache,Mamp,我有我的MAMP设置与虚拟主机一起工作,这很好。我遇到的一个问题是,只要启用虚拟主机,localhost就不能工作。我还没发现这是不是正常的行为。我可以让本地主机和虚拟主机都在MAMP上工作吗?是的,这是可能的。这将需要添加到vHost中,但不能像其他任何内容一样添加。。。必须将其配置为默认vhost。要实现这一点,您需要将apache配置设置为允许vhost(我假设您已经处理好了) 在开始列出Vhosts之前,您的Vhosts配置需要做一些事情,以便localhost工作。首先是NameVir

我有我的MAMP设置与虚拟主机一起工作,这很好。我遇到的一个问题是,只要启用虚拟主机,localhost就不能工作。我还没发现这是不是正常的行为。我可以让本地主机和虚拟主机都在MAMP上工作吗?

是的,这是可能的。这将需要添加到vHost中,但不能像其他任何内容一样添加。。。必须将其配置为默认vhost。要实现这一点,您需要将apache配置设置为允许vhost(我假设您已经处理好了)

在开始列出Vhosts之前,您的Vhosts配置需要做一些事情,以便localhost工作。首先是
NameVirtualHost
指令,然后是主vhost(本地主机),然后是常规vhost。Apache将尝试将提供的主机与您的所有命名vhost进行匹配,当它失败时,它将默认为您的默认vhost(这是您列出的第一个vhost)提供服务。为了实现这一点,我建议更改3个文件:
etc/hosts
apache.conf
vhosts.conf

在主机文件中,在将
127.0.0.1
设置为
localhost
的第一行中,为您的计算机指定一个不同于localhost的名称:

主机

127.0.0.1 localhost  puededev
然后在apache.conf中更改ServerName指令以匹配新主机名。这通常设置为127.0.0.1或localhost,后面通常是带有一些权限设置的目录指令块

apache.conf

ServerName puededev
NameVirtualHost puededev
Listen 80
Listen 8080 
# list out any other ports you are using

<VirtualHost localhost:*>
    ServerAdmin webmaster@example.com
    ServerName localhost
    DocumentRoot /home/usr/mamp/htdocs
    <Directory /home/usr/mamphtdocs>
       order deny,allow
       Allow from 127.0.0.1
       Allow from ::1
    </Directory>
</VirtualHost>
现在,在虚拟主机中,您将设置名称VirtualHosts配置和默认虚拟主机,然后设置其他虚拟主机:

vhosts.conf

ServerName puededev
NameVirtualHost puededev
Listen 80
Listen 8080 
# list out any other ports you are using

<VirtualHost localhost:*>
    ServerAdmin webmaster@example.com
    ServerName localhost
    DocumentRoot /home/usr/mamp/htdocs
    <Directory /home/usr/mamphtdocs>
       order deny,allow
       Allow from 127.0.0.1
       Allow from ::1
    </Directory>
</VirtualHost>
现在转到:
http://localhost/sampleapp