【发布时间】:2016-01-17 20:03:35
【问题描述】:
这是我的网址结构
其中 size 是可选参数。
我是这样在 laravel 5 的 routes.php 中编码的。
Route::any('embed-{id}-{size?}',['uses'=>'Example@video','as'=>'embed']);
最重要的是运行良好没问题,但是当我的 id 已经像这样 adsdfw-r3
http://example.com/embed-adsdfw-r3-640x240 http://example.com/embed-adsdfw-r3
上面两个 url laravel route not working 和 route 假设有三个参数。
经过多次搜索,我发现了这个->where('id', '.*(?=-)'),我将它应用到我的路线中,并且只有当我为我的网址提供大小但在应用->where('id', '.*(?=-)') 后大小是可选参数时,它才能正常工作。 p>
请帮我解决这个问题。
希望你能理解我的问题。
【问题讨论】:
-
我知道这篇文章很旧(并且适用于 Laravel 5),但对于使用较新版本的任何人(我正在使用 8.x)
{size?}可以使用或不使用-,但是如果用户导航到“size”为空的/embed-123-,将会中断。
标签: php laravel routes laravel-5