Route :: получить с параметрами и перенаправить - PullRequest
0 голосов
/ 26 сентября 2018

Клиент просит меня перенаправить старый URL-адрес на новый.Только URL-адрес, который он мне дает, содержит параметр, и с ним невозможно выполнить перенаправление .htaccess.Я проверил, но у меня ничего не получилось.

Я хотел бы перенаправить с помощью системы маршрутов Laravel.

Я пробовал это:

Route::get('places.php?p=1740', function () {
   return redirect('new/url');
});

Но у меня та же проблема,У меня ошибка 404, что страница не существует.Я попытался без параметра, и он работает.

Я также попробовал это:

Route::get('places.php/{p}', function ($p = '1740') {
    return redirect('new/url');
});

Но это также не работает.

Мне просто нужно решение, которое работает дляперенаправить его URL с параметром на новый.

Спасибо!

Ответы [ 2 ]

0 голосов
/ 26 сентября 2018

Если я правильно понимаю, у вас есть старый URL из версии веб-сайта, не созданного в Laravel, и этот URL, вероятно, проиндексирован поисковыми системами, и пользователи переходят на 404 при посещении этого URL.И ваша цель - настроить перенаправление 301 с https://example.com/places.php?p=1740 на https://example.com/new/url.

. Если это так, вы можете достичь этого, добавив эту строку в /public/.htaccess:

Redirect 301 /places.php?p=1740 /new/url

Или вы можете сделать это через файл маршрутов:

Route::redirect('/places.php?p=1740', '/new/url', 301);
0 голосов
/ 26 сентября 2018

В системе маршрутизации Laravel вам не нужно указывать .php расширение, используйте как показано ниже:

Route::get('places/{p}', function ($p = '1740') {
    return redirect('new/url');
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...