我试着在Laravel中使用Redirect::route()
后在URL的末尾添加一个斜杠。我试过很多例子,但找不到答案。
这是我目前所拥有的:routes.php
:
Route::get('/', function() {
return Redirect::route('login');
});
Route::get('/login/', array(
'as' => 'login',
'uses' => 'Controller@login'
));
字符串Controller.php
:
public function login()
{
return 'Login page';
}
型
当我转到htdocs/laravel_project/
时,我被重定向到htdocs/laravel_project/login
,但我希望它是htdocs/laravel_project/login/
。我想在URL的末尾添加斜杠。如果我手动输入URL处的斜杠,它会按照我的要求执行。
3条答案
按热度按时间aydmsdu91#
您正在调用
Redirect::route
,其翻译为:重定向到相应路由的URL(结尾的斜杠被修剪)。
注意,Laravel会自动删除生成的URL的尾部斜杠。
因此,如果没有进一步/深入的调查,最快的方法是:
字符串
kkih6yb82#
这对我很有效:
字符串
使用Redirect::to代替Redirect::route,并将
. '\/'
添加到路由中yk9xbfzb3#
这可能有点晚,但这个技巧最近帮助了我。
Redirect::to
方法仍然从URL的末尾删除“/”,我从SEO报告中得到了讨厌的内部重定向问题-非“/”重定向到我想要的地方,这是一个2重定向链,而不是直接重定向到最终位置。对于Laravel 5.8及更高版本(我没有测试早期版本),我使用
Redirect::away
方法来保存URL末尾的尾随斜杠。因此,您可以使用此功能来避免内部重定向问题:
字符串