Laravel — добавить косую черту в конце с помощью Redirect:: route ()

Я пытаюсь добавить косую черту в конец URL-адреса после того, как использую Redirect::route() с Laravel. Я пробовал множество примеров, но не нашел ответа.

Это то, что у меня есть до сих пор:

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-адресе, он делает то, что я хочу.


person user3685965    schedule 14.07.2014    source источник


Ответы (2)


Вы звоните Redirect::route, который переводится как:

Перенаправление на URL-адрес (с обрезанной косой чертой) соответствующего маршрута.

Обратите внимание, что Laravel автоматически удалит завершающую косую черту сгенерированного URL.

Таким образом, без дальнейшего/глубокого исследования самым быстрым методом будет:

return Redirect::to(URL::route('login') . '/');
person Mengdi Gao    schedule 01.02.2015

Это сработало для меня:

Redirect::to('example/page' . '\/', 301);

Используйте Redirect::to вместо Redirect::route и добавьте . '\/' к маршруту

person Martín Mori    schedule 01.02.2017