Laravel 中的位置标头

GTF*_*GTF 8 php redirect location header laravel

我正在为我大学的身份验证系统 (Ucam_Webauth) 使用图书馆,这意味着我必须使用其中一种方法重定向到身份验证服务器。不幸的是,Redirect:to()由于该库的架构,我无法返回 a 。库本身使用,header('Location: ...');但由于某种原因这不起作用。

如果我die();在发送标头后制作程序,它就可以工作,否则就不行。

知道我该如何解决这个问题吗?

Ale*_*lex 10

return redirect()->to('url')->send();
Run Code Online (Sandbox Code Playgroud)

发送 HTTP 标头和内容。在我的应用程序中,send() 方法的作用类似于“exit()”并且是可测试的


Col*_*mes 4

我不确定我是否遵循。Laravel 将 Location 标头设置为 Redirect::to() 方法的一部分。如果你想更明确地定义响应,你可以这样做。

return Response::make( '', 302 )->header( 'Location', $url );
Run Code Online (Sandbox Code Playgroud)

如果这不起作用,我可能会依靠 php stdlib header() 并返回 null。

如果所有这些仍然没有任何作用,也许分析器把事情搞砸了。如果已打开,请尝试在配置中禁用它。

  • 基本上,如果不使用“die()”终止执行,“header()”就无法工作。我通过部分重写库以使用 Laravel 的方法来修复它。我仍然很好奇是否有一种方法可以设置 `Location` 标头而不必返回 `Response`,因为调用 `header('Location: ...');` 不起作用。 (2认同)