【问题标题】:Blog post URL redirection in laravel 5.5laravel 5.5 中的博客文章 URL 重定向
【发布时间】:2019-04-24 16:44:26
【问题描述】:

最近我们在博客 URL 中包含博客标题和 ID。例如, 旧网址:

www.domain.com/blog-details/12

修改后的网址:

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

现在我想将旧博客网址重定向到laravel网站中修改后的博客网址,如果我们点击旧博客网址,它应该重定向到新博客网址。

【问题讨论】:

标签: php laravel


【解决方案1】:

您需要创建一个路由来处理www.domain.com/blog-details/12,获取正确的博客标题,然后重定向。

如果您能够使用model binding,这样的东西应该可以完成这项工作

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

【讨论】:

  • 感谢您的建议。目前,我的路线如下: Route::get('blog-details/{id}/{title?}', 'ShowBlogController@getBlogDetailsData')->name('blog-details');
【解决方案2】:

您可以使用 .htacess Apache 或 .conf Nginx 重写 URL

【讨论】:

  • 坏主意。 Web 服务器不知道动态添加的数据库标题。必须在 PHP 代码中完成。
猜你喜欢
  • 1970-01-01
  • 2011-07-23
  • 2019-07-31
  • 2016-06-27
  • 1970-01-01
  • 2021-08-21
  • 2016-02-24
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多