该问题可能是由于调用重定向时使用了相对路径,从而导致重定向初步成功,但请求被发送到服务器以获取相对路径的绝对路径。为了解决这个问题,可以使用绝对路径重定向,如下例所示:
if (condition) {
return redirect('/absolute/path');
} else {
return redirect('/another/absolute/path');
}
在这种情况下,重新定向会发送到指定的绝对路径。如果重新定向的目标在当前控制器函数中,您可以使用以下代码:
return redirect()->action(
'[Controller Name]@[Method Name]'
);
这种方法允许您通过控制器名称和方法名称指定重定向的目标。
如果规范的URL重定向无法解决问题,也可以尝试将重定向设置为302状态:
return redirect('path/to/redirect')->with('message', 'Your message');
或者,您可以尝试添加以下标头:
return Redirect::to('path/to/redirect')->withHeaders(['Cache-Control' => 'no-cache, no-store, max-age=0, must-revalidate', 'Pragma' => 'no-cache', 'Expires' => 'Fri, 01 Jan 1990 00:00:00 GMT']);
这些代码片段中提供了一些可能有助于解决本地重定向导致的问题的示例。
上一篇:本地指针可能指向已释放的内存