Php laravel 5.5中的博客文章URL重定向

Php laravel 5.5中的博客文章URL重定向,php,laravel,Php,Laravel,最近我们在博客URL中加入了博客标题和ID。例如 旧URL: www.domain.com/blog-details/12 修改后的URL: www.domain.com/blog-details/12/title 现在我想将旧博客URL重定向到laravel网站中修改后的博客URL,如果我们单击旧博客URL,它应该重定向到新的博客URL。您可以使用.htacess Apache或.conf Nginx来重写URL您可以使用.htacess Apache或.conf Nginx来重写URL您

最近我们在博客URL中加入了博客标题和ID。例如 旧URL:

www.domain.com/blog-details/12
修改后的URL:

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

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

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

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

您需要创建一个路由来处理
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");
});

你可以在这里阅读更多关于重定向的信息

您需要创建一个路由来处理
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");
});

你可以在这里阅读更多关于重定向的信息

(一)。你改变路线了吗?1.你改路线了吗?坏主意。Web服务器不知道动态添加的数据库标题。必须在PHP代码中完成。这不是个好主意。Web服务器不知道动态添加的数据库标题。必须在PHP代码中完成。感谢您的建议。目前,我的路由类似于:route::get('blog-details/{id}/{title?}','ShowBlogController@getBlogDetailsData')->name('blog-details');谢谢你的建议。目前,我的路由类似于:route::get('blog-details/{id}/{title?}','ShowBlogController@getBlogDetailsData')->name('blog-details');