【问题标题】:use regular expression in laravel routing在 laravel 路由中使用正则表达式
【发布时间】:2018-08-06 09:50:47
【问题描述】:

我有一些遗留路由,我应该将它们全部重定向到第 404 页。它们都以 adminuser 开头。这样做的最佳做法是什么?

例如反正有没有使用正则表达式?

【问题讨论】:

标签: laravel laravel-5 laravel-routing


【解决方案1】:

它对我有用:

Route::get('{legacy}', function($legacy){
    //
})->where('legacy', 'user.*|admin.*');

【讨论】:

    【解决方案2】:

    因此,Laravel 在有关 catch-all 路由的文档方面可能有点含糊,您可以使用以下(未经测试)来捕获给定路由下方的任何可选路由并重定向回 404 页面。

    // Redirect all /admin routes
    Route::get('admin/{any?}', function ($any = null) {
        return redirect('404');
    })->where('any', '.*');
    
    // Redirect all /user routes
    Route::get('user/{any?}', function ($any = null) {
        return redirect('404');
    })->where('any', '.*');
    

    就我个人而言,我可能会在它到达 Laravel 之前通过 301 永久重定向设置一个重写来做到这一点,但这同时应该对你有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-06-13
      • 2016-10-10
      • 2018-06-06
      • 1970-01-01
      • 2019-04-04
      • 2015-09-13
      • 2018-12-20
      相关资源
      最近更新 更多