Перенаправление URL-адреса записи в блоге в laravel 5.5

#php #laravel

#php #laravel

Вопрос:

Недавно мы включили название блога вместе с идентификатором в URL-адрес блога. Например, старый URL:

 www.domain.com/blog-details/12
  

Измененный URL:

 www.domain.com/blog-details/12/title
  

Теперь я хочу перенаправить старый URL-адрес блога на измененный URL-адрес блога на веб-сайте laravel, если мы нажмем старый URL-адрес блога, он должен перенаправить на новый URL-адрес блога.

Комментарии:

1.laravel.com/docs/5.8/redirects ?

2. 1. Вы изменили маршруты?

Ответ №1:

Вам нужно создать маршрут для обработки www.domain.com/blog-details/12 , получить правильное название блога и затем перенаправить.

Если вы можете использовать привязку модели, что-то подобное должно выполнить эту работу

 Route::get('/blog-details/{blog}', function (Blog $blog) {
    return redirect("/blog-details/$blog->id/$blog->title");
});
  

В противном случае вы можете получить элемент блога самостоятельно, а затем перенаправить

 Route::get('/blog-details/{id}', function ($id) {
    $blog = Blog::findOrFail($id);
    return redirect("/blog-details/$blog->id/$blog->title");
});
  

Вы можете прочитать больше о перенаправлениях здесь;https://laravel.com/docs/5.8/redirects

Комментарии:

1. Спасибо за предложения. в настоящее время мой маршрут выглядит следующим образом: Route::get(‘blog-details/{id}/{title?}’, ‘ShowBlogController@getBlogDetailsData’)->name(‘blog-details’);

Ответ №2:

Вы можете использовать перезапись URL-адресов с помощью .htacess Apache или .conf Nginx

Комментарии:

1. Плохая идея. Веб-сервер не знает динамически добавляемых заголовков базы данных. Должно быть выполнено в коде PHP.