繁体   English   中英

重写路由关闭301重定向到Laravel中的控制器

[英]Rewriting route closure 301 redirects into controllers in Laravel

我已经在Laravel 5.5+ web.php中为某些pdf文件实现了301重定向

Route::get(
    'old-url.pdf', function () {
    return Redirect::to('new-url.pdf', 301);
});

它在开发环境中效果很好。

但是,当部署在生产站点上时,由于缓存(缓存不允许序列化闭包),我会遇到如下错误:

LogicException: Noticed exception 'LogicException' with message 'Unable to prepare route [old-url.pdf] for serialization. Uses Closure.' in /XXX/vendor/laravel/framework/src/Illuminate/Routing/Route.php:880

我正在寻找一个有关如何使用控制器(或任何其他推荐方法)重写上述重定向的示例。

我们在框架中内置了一个RedirectController ,您可以避免此问题:

Route::redirect('old-url.pdf', 'new-url.pdf', 301); // 301 by default

Laravel 5.5 Docs-路由-重定向路由

像这样使用(请阅读我对这个问题的评论

Route::get('/old-url', function () {
    return Redirect::to('new-url');
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM