【发布时间】:2017-02-09 18:46:20
【问题描述】:
我必须配置路由来响应这个 url:
- /SomeStaticString
- /{类别}/{id}
为此,我在 web.php 文件中编写了这段代码:
Route::get('/SomeStaticString','PagesController@SomeStaticString');
Route::get('/{main_category}/{slug}','PagesController@getArticle')->where('main_category', '^(?!SomeStaticString$).*');
这是处理这些网址的正确方法吗? 如果我必须在我的应用程序中添加其他 url “SomeStaticString”,那么最好的路由实现是什么?
【问题讨论】:
-
您的意思是
->where('main_category', '^(?!addClickBanner$).*');吗?如果id_banner是一个数字,而slug不是,你可以用[0-9]+约束id_banner -
仅使用路由参数,例如在 Route::get('/{main_category}/{slug}'...) 中,如果在该路由之前没有明确说明 uri,则将获取每个 uri。
-
您应该在您关心的每条路线下方放置一条类似
/{main_category}/{slug}的路线。应在此路由上方放置一条新路由,例如SomeStaticString。