Laravel的位置标题

时间:2013-03-26 17:32:44

标签: php redirect header location laravel

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

如果我在发送标题之后创建了程序die();,那么它可以正常运行,但是否则不行。

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

5 个答案:

答案 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');