在我的Laravel应用程序中,我有一个特定路由的中间件,在这个中间件中我验证重定向到一个URL。
public function handle($request, Closure $next)
{
$isValidated= ....
if ($isValidated) {
session()->put('url.intended', URL::full());
return redirect()->route('routeone')
}
return $next($request);
}
当你注册时,在该表的存储方法中我按以下方式进行重定向,但事实证明,当我这样做时,它会将我重定向到domain/img/favicon.png
并且我没有执行上一个路由
public function store(Request $request)
{
....
return redirect()->intended(session('url.intended') ?? '/admin');
}
这里有什么问题,或者如何在中间件重定向之前解决此细节以重定向到URL。 ?
尝试使用此代码:
$referrer = $this->request->headers->get('referer');
$url = $referrer ? $this->to($referrer) : $this->getPreviousUrlFromSession();
或直接:
$url = request()->headers->get('referer');
和
session()->put('url.intended', $url);