[英]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
像这样使用(请阅读我对这个问题的评论 )
Route::get('/old-url', function () {
return Redirect::to('new-url');
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.