簡體   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