连接到家庭网络时,MAMP虚拟主机不工作

Kyl*_*lus 1 apache mamp virtualhost httpd.conf

我在我的笔记本电脑上设置了虚拟主机,我知道工作正常,因为我经常在工作和学校使用它们,但无论出于什么原因,当我在我的父母家连接到他们的家庭网络时,我得到404.如果我从网络断开连接,我会被Apache打败.这是我的httpd.conf文件内容(仅涉及虚拟主机的部分):

NameVirtualHost *
<VirtualHost *>
    DocumentRoot "/Applications/MAMP/htdocs"
    ServerName localhost
</VirtualHost>

<VirtualHost *>
    DocumentRoot "/Users/kyle/Sites/ESA/app/public"
    ServerName esa.loc
    <Directory "/Users/kyle/Sites/ESA/app/public">
        Options Indexes FollowSymLinks
        AllowOverride all
        Order Deny,Allow
        Allow from all
        Allow from 127.0.0.1
    </Directory>
</VirtualHost>

<VirtualHost *>
    DocumentRoot "/Users/kyle/Sites/portfolio-site/public"
    ServerName kyle.loc
    <Directory "/Users/kyle/Sites/portfolio-site/public">
        Options Indexes FollowSymLinks
        AllowOverride all
        Order Deny,Allow
        Allow from all
        Allow from 127.0.0.1
    </Directory>
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)

和我的/ etc/hosts文件:

##
# Host Database
#
# localhost is used to configure the loopback interface
# when the system is booting.  Do not change this entry.
##
127.0.0.1       localhost esa.loc kyle.loc
255.255.255.255 broadcasthost
::1             localhost esa.loc kyle.loc
fe80::1%lo0     localhost esa.loc kyle.loc
Run Code Online (Sandbox Code Playgroud)

如果您需要更多信息,请告诉我,我会尽力提供.谢谢.

编辑:忘了提到我尝试将我的笔记本电脑添加到路由器上的DMZ但是没有解决问题.

小智 36

确保取消注释该行

包括conf/extra/httpd-vhosts.conf

在你的apache conf文件中.

  • +1这是至关重要的一步,应该更多地进行投资 (4认同)

小智 5

我真的不确定,但Virtualhost是否应该包含有关端口的一些信息?就像:

<VirtualHost *:80>
Run Code Online (Sandbox Code Playgroud)

我认为你可以删除这些行,因为它在你的情况下没用

NameVirtualHost *

Allow from 127.0.0.1 
Run Code Online (Sandbox Code Playgroud)

当您在上面的行中使用"allow from all"时,在"Allow"中使用ip地址没有任何意义