如何在Laravel中实现数组类型路由?

fms*_*ird 18 php laravel

我试图在Laravel 5.8中实现数组类型的路由。
这是我尝试过的:

Route::get('/','/myroute', 'MyController@index');
Route::get(['/','/myroute'], 'MyController@index');
Route::get([('/','/myroute')], 'MyController@index');
Route::get('/' || '/myroute', 'MyController@index');  
Run Code Online (Sandbox Code Playgroud)

基本上,我想做的是创建一个具有“ OR”条件的路由。
假设我想index使用mydomain.dev/或访问MyController ,mydomain.dev/myroute但得到404 | Not Found

试图阅读Laravel文档,但找不到任何指向我正在尝试做的事情。

Lak*_*ngh 12

这是您要实现的示例。

Route::get('/{param?}', 'MyController@index')
    ->where('param', '(myroute|myroute2)');
Run Code Online (Sandbox Code Playgroud)

通过以上途径,您可以为相同的控制器功能创建以下网址

www.site.com/
www.site.com/myroute
www.site.com/myroute2
Run Code Online (Sandbox Code Playgroud)

试试这个,我认为这会对您有所帮助。


pr1*_*nc3 5

Route::get('/{myroute?}', function () {
    echo 'test';
})
    ->where('myroute', '(myroute|mysecondroute)');
Run Code Online (Sandbox Code Playgroud)

这是一个例子。您在路线中定义了一个变量,该变量可以采用您所在位置的值

这意味着端点

api/myroute 
api/
api/mysecondroute
Run Code Online (Sandbox Code Playgroud)

将访问相同的路由并设计相同的控制器