You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MacOS MAMP环境下Laravel API请求URL未找到问题求助

嘿,我来帮你排查这个API 404的问题!从你的描述来看,项目的核心功能(数据库、模型、控制器)都没问题,访问/zidd/public也能看到Laravel首页,说明问题大概率出在请求路径的转发配置上,咱们一步步来解决:

1. 先确认API的正确访问路径

Laravel的所有请求都需要经过public目录下的index.php入口文件,所以你之前调用的/zidd/api/posts是不对的,正确的路径应该是:
/zidd/public/api/posts
你可以先试试这个路径,看能不能正常返回数据。如果能,那说明只是路径没加对;如果还是不行,再往下看。

2. 配置项目根目录的.htaccess(去掉URL里的public)

如果不想每次都在URL里加public,你需要在**项目根目录(zidd文件夹)**创建一个.htaccess文件,内容如下:

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteRule ^(.*)$ public/$1 [L]
</IfModule>

这个规则的作用是把所有请求转发到public目录下,这样你访问/zidd/api/posts就会自动映射到/zidd/public/api/posts。

注意:你之前只加了RewriteEngine On,缺少关键的转发规则,这也是问题所在之一。

3. 确保MAMP的Apache配置正确

检查mod_rewrite模块是否开启

打开MAMP的httpd.conf文件(路径一般是/Applications/MAMP/conf/apache/httpd.conf),找到下面这行,确保它没有被注释(前面没有#):

LoadModule rewrite_module modules/mod_rewrite.so

确认AllowOverride设置正确

在httpd.conf里找到<Directory "/Applications/MAMP/htdocs">这一段,把AllowOverride None改成AllowOverride All,这样Apache才会读取.htaccess文件的规则。

4. 更优雅的方案:配置虚拟主机

如果想彻底摆脱/zidd/public这种路径,推荐配置虚拟主机,步骤如下:

  1. 打开MAMP的httpd.conf,找到下面这行,确保它没有被注释:
Include /Applications/MAMP/conf/apache/extra/httpd-vhosts.conf
  1. 编辑httpd-vhosts.conf文件(路径同上),添加虚拟主机配置:
<VirtualHost *:80>
    DocumentRoot "/Applications/MAMP/htdocs/zidd/public"
    ServerName zidd.local
</VirtualHost>
  1. 修改Mac的hosts文件(路径/etc/hosts),添加一行:
127.0.0.1 zidd.local
  1. 重启MAMP的Apache服务,之后你就可以用http://zidd.local/api/posts来访问API了,非常清爽!

最后检查权限

MacOS下Laravel需要storage和bootstrap/cache目录有读写权限,你可以在终端里执行下面的命令(进入项目根目录后):

sudo chmod -R 775 storage bootstrap/cache
sudo chown -R _www:_www storage bootstrap/cache

这样可以避免因为权限问题导致的隐藏错误。

按照上面的步骤一步步来,应该就能解决你的API 404问题啦!

内容的提问来源于stack exchange,提问作者GetMe4GetMe

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 06:47:46