我在本地mac pc上托管的项目中使用此路由,它正在工作,但是当我将其上传到Ubunto
服务器路由冲突发生时。
Route::group(['prefix'=>'report', 'middleware' => ['auth','session', 'complete_profile']], function() {
Route::get('/get_query', 'ReportController@get_queries');
});
Route::group(['middleware' => ['auth','session', 'complete_profile']], function(){
Route::resource('report','ReportController');
});
例如,当我在在线ubunto
服务器上使用形式第一路由report/get_query
时,它会转到该控制器的show($id)
方法,但在本地它工作。我该怎么做呢?
Route::group(['prefix'=>'report', 'middleware' => ['auth','session', 'complete_profile']], function() {
Route::resource('/','ReportController',['except' => ['show']]);
Route::get('/get_query', 'ReportController@get_queries');
});
资源路由有http方法的预定义路由。例如,报告资源有路由:
Route::get('report/{report}','ReportController@show');
解决方案是排除一些方法(路由来自rest资源),或者创建一些不会与路由资源冲突的路由。
你可以通过运行命令查看你注册的路由:
php artisan route:list
还有一个route group for report就足够了,只要在resource route中加上'/'就可以了。