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

Vue.js前端访问Laravel API路径问题求助:部署后请求被拦截

解决API访问被Vue Router拦截的问题

核心问题是当前服务器把所有请求(包括/api开头的请求)都指向了public_html下的Vue前端入口文件,导致Vue Router拦截了本该发给Laravel后端的请求。以下是具体解决步骤:

1. 配置服务器重定向规则(.htaccess)

在public_html目录下的.htaccess文件中添加规则,将/api开头的请求转发到Laravel后端的入口文件:

RewriteEngine On

# 把/api开头的请求转发到laravel后端的public入口
RewriteRule ^api/(.*)$ ../laravel/public/index.php/$1 [L]

# 非/api的请求交给Vue前端处理
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^ index.html [L]

注意:如果Laravel文件夹的实际位置不是public_html的同级目录,需要调整../laravel为正确的相对路径(比如Laravel在public_html内部的话,路径改为laravel)。

2. 确认Laravel API路由前缀

Laravel默认的api.php路由已经自带/api前缀(在RouteServiceProvider.php中配置),所以你在api.php里定义的Route::get('/somepage', ...),对应的访问路径就是https://www.example.com/api/somepage,无需额外修改路由。

3. 前端请求路径验证

确保前端发起API请求时使用的路径是/api/somepage,不要添加多余前缀(比如不要写成/laravel/api/somepage)。

4. 测试配置

修改.htaccess后,直接访问https://www.example.com/api/somepage,如果返回后端的JSON响应,说明配置生效;若仍被Vue拦截,检查:

  • .htaccess规则是否正确
  • cPanel的Apache模块中mod_rewrite是否已开启

内容的提问来源于stack exchange,提问作者Mohammed El Ouali

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 14:45:56