前后端项目分离-laravel 实现history路由模式

一、前因后果

        项目要求从原先的hash的路由模式调整为history路由模式。

二、实现过程

        当前前端进行,将其hash路由模式改为history路由模型时,原先的网站会出现404的问题。

原因是:所有的前端路由请求需要被重定向到入口文件(通常是 index.html),而不是 index.php,这样前端应用才能正确处理路由。

        为此,我们要确保两点:

1、API 请求正确地转发到 Laravel 的入口文件 index.php

2、非 API 请求(即前端路由请求)重定向到前端应用的入口文件,通常是 index.html

所以。我们需要调整伪静态文件:.htaccess(apache)

 # Handle Frontend Paths: Assume All URLs are Handled by the Frontend
    # except the actual files or API requests
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_URI} !^/api
    RewriteRule ^ index.html [L]

    # Handle API Requests: Forward to Laravel's Front Controller
    RewriteCond %{REQUEST_URI} ^/api
    RewriteRule ^ index.php [L]

配置做的事情:

1、对所有非文件、非目录请求,如果它们不是 /api 的一部分,则假定它们是由前端应用处理(重写到 index.html)。

2、对所有以 /api 开头的请求,保证它们被转发给 Laravel 的 index.php,以便后端能够处理这些 API 请求。

三、测试结果

        成功!

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值