重定向回之前的 url 或受身份验证保护的 url

Redirect back to previous url or to auth-protected url

在电商网站上,首页有很多商品,每个商品都有一个link包含自己的id(/order/x)。当我单击那个 link 时,我强制使用身份验证中间件进行登录操作。当用户点击“购买此产品”时,我想在成功登录后将他重定向到 /order/x。而且,如果用户从主页导航点击登录,我想将他重定向回主页。

案例: 当我尝试访问受身份验证中间件保护的路由时(在此示例中:/order/1),我的 url.intended 存储为 /order/1,这就是我想要的。但是当我从指向 {{ route('login') }}) 的主页按登录时,url.intended 保持不变 - /order/1 URL,除非我尝试输入另一个受身份验证保护的 URL。我尝试使用之前的 URL 方法,但它没有重定向回受身份验证保护的路由 URLs。 在这种情况下(使用 url.previous 时)- 如果我在主页上按“购买产品”按钮,它不会返回到订购屏幕,而是会将我重定向回主页。

将用户重定向到上一个 URL 如果它从主页单击登录,或者 /order/1 URL 如果它是点击“购买产品”。

您应该在重定向到登录页面时添加 redirect_url 查询参数。并让登录控制器在登录成功后重定向到redirect_url参数中定义的URL。

在php中使用$_SERVER['HTTP_REFERER']它returns页面的完整URL