所有人。我不能将urls链接到两个不同的控制器:(
Route::group([
'namespace' => 'Page',
'as' => 'page.',
], function() use ($lang)
{
Route::get ('/{path}-{page_id}', ['uses' => 'PageCategoryController@show', 'as' => 'category']);
Route::get ('/{path?}/{alias}-{record_id}.html', ['uses' => 'PageItemController@show', 'as' => 'item']);
});什么时候你要去
/test-3
/test-3.html你有同样的结果,但为什么?
uri GET {path}-{page_id}
as frontend::page.category请帮帮我:)
更新:
也许是因为这个,但我不确定.
Route::pattern('path', '[-_a-zA-Z0-9\p{L}]*');
Route::pattern('alias', '[-_a-zA-Z0-9\p{L}]*');
Route::pattern('record_id', '[0-9]+');
Route::pattern('page_id', '[0-9]+');发布于 2018-01-03 11:19:22
这与Understand Laravel route with optional parameter有关
不能在可选参数后面加上所需的参数。
然而,也许这个解决办法可能对你有用。
Route::get ('/{alias}-{record_id}.html', ['uses' => 'PageItemController@show', 'as' => 'item']);
Route::get ('/{path}/{alias}-{record_id}.html', ['uses' => 'PageItemController@show', 'as' => 'item']);
Route::get ('/{path}-{page_id}', ['uses' => 'PageCategoryController@show', 'as' => 'category']);发布于 2018-01-03 10:53:04
把第二个放在第一个之前:
Route::get ('/{path?}/{alias}-{record_id}.html', ['uses' => 'PageItemController@show', 'as' => 'item']);
Route::get ('/{path}-{page_id}', ['uses' => 'PageCategoryController@show', 'as' => 'category']);https://stackoverflow.com/questions/48075903
复制相似问题