我正在为我大学的认证系统(Ucam_Webauth)使用图书馆,这意味着我必须在其中一种方法中重定向到认证服务器。不幸的是,由于这个库的架构,我无法返回Redirect:to()
。该库本身使用header('Location: ...');
,但由于某种原因这不起作用。
如果我在发送标题之后创建了程序die();
,那么它可以正常运行,但是否则不行。
知道如何解决这个问题吗?
答案 0 :(得分:3)
我不确定我会效仿。 Laravel将Location头设置为Redirect :: to()方法的一部分。如果你想更明确地定义响应,你可以这样做。
return Response::make( '', 302 )->header( 'Location', $url );
如果这不起作用,我可能会回到php stdlib header()并返回null。
如果所有这些仍然没有任何好处,也许分析器会弄乱。如果已打开,请尝试在配置中禁用它。
答案 1 :(得分:2)
return redirect()->to('url')->send();
发送HTTP标头和内容。在我的应用程序中,send()方法就像' exit()'并且是可测试的
答案 2 :(得分:0)
出口;在标题之后停止进一步的代码执行。
<?php
header('Location: http://www.example.com/');
exit;
答案 3 :(得分:0)
尝试
return Redirect::to('url');
答案 4 :(得分:0)
例如,对于此路线:
Route::get('hello', array('as' => 'hello_name', 'uses' => 'HelloController@getHello'));
在laravel中,您可以使用
重定向到网址return Redirect::to('hello');
或者,您可以使用
重定向到命名路由return Redirect::route('hello_name');