使用 Laravel 8 使用动态路由获取错误 500

Posted

技术标签:

【中文标题】使用 Laravel 8 使用动态路由获取错误 500【英文标题】:Getting error 500 with a dynamic route using Laravel 8 【发布时间】: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\-]+)?');

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

【问题讨论】:

【参考方案1】:

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


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

【讨论】:

其实我才刚刚开始做这个项目,所以目前就只有这个了。我需要保留,因为我需要动态路线 @CarlosDiaz 说如果你评论这条路线并且有一条简单的路线来呼应某些东西,那么它是否有效?您是否为.env/config/app.php 中的应用程序设置了debugtrue @CarlosDiaz 好的,但这看起来像 access.log,你能检查一下 error.log 里面的内容吗? 我以前做过,但我找不到error.log,即使使用命令“whereis”。无论如何,谢谢你的帮助兄弟! ionos.com/help/server-cloud-infrastructure/troubleshooting/…

以上是关于使用 Laravel 8 使用动态路由获取错误 500的主要内容,如果未能解决你的问题,请参考以下文章

从 Laravel 4.2 升级到 5.0 后获取 POST 的路由未定义错误

如何使用获取参数将 laravel (5.3) 路由重定向到其他路由

使用 Laravel 路由获取 404 - 重写不起作用

在 Laravel 8 中使用 API 路由时返回错误

Laravel 8 的动态路由

使用 AJAX 和 Laravel 5.8 的动态依赖选择选项