Jit*_*ose 0 php laravel laravel-routing laravel-5 laravel-5.1
当用户尝试访问 url 时/product/{product_id}/edit(该用户不允许这样做),我添加了一个重定向回之前的 URL 并带有一条消息,
public function edit($product_id)
{
...
return redirect()->back()->with(['error' => 'No permission']);
...
}
Run Code Online (Sandbox Code Playgroud)
当用户单击链接(标签)时,它会重定向回之前的 url,但会出现错误。但是,当用户尝试输入 URL 时,/product/12/edit它会不断重定向到相同的 URL 并成为重定向循环。
如何正确解决这个问题,难道是和laravel的bug有关?
Laravel,如果未找到 HTTP_REFERER,会将用户重定向到相同的 url。为了避免无限循环,我使用了这种方法:
$referer = Request::header('referer');
if(empty($referer)) {
return Redirect::to(route('defaultRoute'));
} else {
return Redirect::back();
}
Run Code Online (Sandbox Code Playgroud)