Windows 10,MAMP 虚拟主机设置不起作用

Posted

技术标签:

【中文标题】Windows 10,MAMP 虚拟主机设置不起作用【英文标题】:Windows 10, MAMP virtual host setup doesn't work 【发布时间】:2017-05-15 21:51:15 【问题描述】:

我已经浏览了所有可以在这里找到的帖子,但仍然无法正常工作:

我有一个 Windows 10 + MAMP。

MAMP 设置为文件夹 C:/MAMP/htdocs 作为根文件夹

我在 httpd.conf 中取消了虚拟主机行的注释:

# Virtual hosts
Include conf/extra/httpd-vhosts.conf

添加:

<VirtualHost *:80>
    DocumentRoot "C:/MAMP/htdocs/team/example"
    ServerName dev.example.com
    ServerAlias dev.examplecom
</VirtualHost>

进入 httpds-vhosts.conf 到额外的文件夹(在 conf 下)

将以下内容添加到我的主机文件中:

127.0.0.1 dev.example.com

我可以访问本地主机, 但是每次我尝试一个域时,它都会让我感到困惑:未找到(在此服务器上找不到请求的 URL /。)

我很确定我遗漏了一些小东西,但非常感谢您提供解决方案。

到目前为止,我尝试更改 conf 文件中的路径。 尝试使用相对路径而不是绝对路径。 尝试了我能在网上找到的任何想法,

谢谢,新年快乐 :) 干杯。

【问题讨论】:

我刚刚按照你说的做了,它奏效了。你重启了apache吗?您在主机文件中添加了标签。不要使用空间,只需 [ip] 选项卡 [域] 我遇到了完全相同的问题。考虑到需要通过在 C:\MAMP\conf\apache\httpd.conf 中而不是在 C:\MAMP\bin\apache 中取消注释“包含 conf/extra/httpd-vhosts.conf”来正确启用/包含虚拟主机\conf 或 C:\MAMP\bin\apache\conf\original . 我发现这里的 MAMP 有点奇怪。您的虚拟主机指令进入C:\MAMP\conf\apache\httpd.conf。但是,实际的httpd-vhosts.conf 文件位于C:\MAMP\bin\apache\conf\extra\httpd-vhosts.conf,即bin 目录中。不知道为什么,但这就是我的工作方式。 【参考方案1】:

我没有足够的分数来评论詹姆斯的回答,但这是 Windows 环境的另一个怪癖:

在 hosts 文件中,Windows 希望每个虚拟主机有两行:

127.0.0.1     dev.example.com
::1           dev.example.com

【讨论】:

【参考方案2】:

不确定这个问题是否仍然相关,但我最近在设置我的虚拟主机时遇到了完全相同的问题,我收到了:未找到(在此服务器上未找到请求的 URL /。)。我的解决方案是这样写:

<VirtualHost *:80>
    DocumentRoot C:/MAMP/htdocs/team/example
    ServerName dev.example.com
    ServerAlias dev.examplecom
</VirtualHost>

没有围绕 DocumentRoot 的引号。看起来既简单又愚蠢,但它对我有用。确保再次重新启动 Mamp 服务器!

【讨论】:

【参考方案3】:

我没有看到你提到任何关于 SymLink 的内容,也许这就是你让它工作所缺少的。

在同一个 C:\MAMP\conf\apache\httpd.conf 文件中找到这一行。

<Directory />
    Options FollowSymLinks ExecCGI
    AllowOverride none
    Order deny,allow
    Allow from all
</Directory>

AllowOverridenone 更改为 all

<Directory />
    Options FollowSymLinks ExecCGI
    AllowOverride all
    Order deny,allow
    Allow from all
</Directory>

虽然我迟到了,但希望能有所帮助。

还请确保在进行任何更改后重新启动 MAMP 上的服务器!如果您不重置服务器以应用更改,那么即使您知道自己做的一切都正确,也不会起作用。

【讨论】:

【参考方案4】:

将线路从 Include conf/extra/httpd-vhosts.conf 更改为 Include C:/MAMP/conf/extra/httpd-vhosts.conf 对我有用。

看来httpd.conf 需要绝对路径

【讨论】:

不,httpd.conf 可以使用相对路径。但是,我发现 MAMP 在其外观方面表现得有些奇怪。 Mamp 似乎需要绝对路径。这很奇怪。 包括 C:\MAMP\bin\apache\conf\extra\httpd-vhosts.conf 为我工作

以上是关于Windows 10,MAMP 虚拟主机设置不起作用的主要内容,如果未能解决你的问题,请参考以下文章

将默认端口(80)更改为 8080 时如何设置虚拟主机?

使用dwr后,javaweb设置的session超时失效,web.xml和tomcat设置都不起作

Vhost 与 Mamp Mac OS High Sierra

使用 MAMP 设置虚拟主机无法正常工作

MAC OS X:MAMP 环境和虚拟主机

基于名称的虚拟主机在 OS X 10.10 Yosemite 上的 Apache 2.4.9 中不起作用/不允许