我的应用程序中有两种类型的URL:
在使用此代码的web.php
文件中:
Route::any('{slug}', 'PageController@show');
我获得了base_url/category1/
类型的网页
并使用:
Route::get("{slug}/{slug2}", "PageController@show")->where('path', '.+');
我有这种类型的网页:base_url/category1/categorypage1
。
我不能同时使用它们,因为其中一个我得到404.我正在寻找修复以在单个控制器中获取所有url类型。我怎样才能做到这一点 ?
[UPDATE]
如果按此顺序使用,则可以:
Route::any('{slug}', 'PageController@show');
Route::any("{slug}/{slug2}", "PageController@show");
但是我不是很高兴这样使用它。我正在寻找一个更清洁的解决方案。
答案 0 :(得分:1)
首先请不要使用any
,因为您要显示,因此请使用get
。
您可能正在寻找?
(可选参数)。如果您阅读documentation而不是在这里询问,您就会知道。
Route::get('{slug?}/{another?}', 'PageController@show');
show($slug = null, $another = null) {}
// or use Request $request
注意:不要混用
'
和"
看起来很荒谬