【问题标题】:Getting error 500 with a dynamic route using Laravel 8使用 Laravel 8 使用动态路由获取错误 500
【发布时间】:2021-11-12 23:21:17
【问题描述】:

我在尝试访问动态路由时收到错误 500。该参数是可选的,当我避免它时效果很好。

这是代码

Route::get('/{slug?}', function ($request = '') {
    $code = empty($request)? '47ZH2' : $request;
    return view('home', ['code' => $code]);
})->where('slug','^([0-9A-Za-z\-]+)?');

即使我尝试不使用正则表达式,但仍然无法正常工作。

【问题讨论】:

    标签: php laravel dynamic routes laravel-8


    【解决方案1】:

    /{slug?} 将匹配所有路由,因为这意味着匹配单个 / 或它之后的任何 URI,如 /products/categories 等。不建议使用这些类型的路由,因为它们会在系统中产生意外行为和长时间的调试。


    如果您仍然希望保留它,请将此路由放在所有路由的末尾,因为如果上述路由都不匹配,它将充当备用路由。

    【讨论】:

    • 其实我才刚刚开始做这个项目,所以目前就只有这个了。我需要保留,因为我需要动态路线
    • @CarlosDiaz 说如果你评论这条路线并且有一条简单的路线来呼应某些东西,那么它是否有效?您是否为.env/config/app.php 中的应用程序设置了debugtrue
    • @CarlosDiaz 好的,但这看起来像 access.log,你能检查一下 error.log 里面的内容吗?
    • 我以前做过,但我找不到error.log,即使使用命令“whereis”。无论如何,谢谢你的帮助兄弟!
    猜你喜欢
    • 2021-03-31
    • 2017-11-13
    • 2017-10-24
    • 2021-09-21
    • 1970-01-01
    • 2016-08-12
    • 2015-05-27
    • 2018-04-05
    • 1970-01-01
    相关资源
    最近更新 更多