2016-11-14 20 views
0

私のローカルmac pcでホストされているプロジェクトでこのルートを使用していますが、動作していますが、Ubuntoサーバールートの競合が発生しました。例えばLaravelルートとリソースルートとの競合

Route::group(['prefix'=>'report', 'middleware' => ['auth','session', 'complete_profile']], function() { 
    Route::get('/get_query', '[email protected]_queries'); 
}); 

Route::group(['middleware' => ['auth','session', 'complete_profile']], function(){ 
    Route::resource('report','ReportController'); 
}); 

私はそれがshow($id)そのコントローラの方法、しかし、地元での作業になり、オンラインubuntoサーバーにフォーム最初のルートreport/get_queryを使用しています。 これはどうすればよいですか?

+0

リソースルートの後に最初のルートグループを置こうとしましたか? – prateekkathal

+0

@prateekkathal私はそれをテストしましたが、その時にローカルのMacで競合が発生しました – jones

+0

Ubuntuではすべて大文字と小文字が区別されます。 index.Phpとindex.phpでも大きな違いがあります。大文字と小文字の間違いがないかどうか確認してください。私にたくさん起こった – Markinson

答えて

1
Route::group(['prefix'=>'report', 'middleware' => ['auth','session', 'complete_profile']], function() { 
    Route::resource('/','ReportController',['except' => ['show']]); 
    Route::get('/get_query', '[email protected]_queries'); 
}); 

リソースルートには、httpメソッドの事前定義済みルートがあります。例えばreporteリソースがルートを有する:

Route::get('report/{report}','[email protected]'); 

ソリューションは、いくつかmethodes(restfullリソースからのルート)を除外するために、またはルートリソースとの競合を習慣いくつかの経路を作ることです。

あなたが実行して登録したものを見ることができますルート:

php artisan route:list 

また、レポートのための1つのルートグループは、単にリソースルートに「/」を入れて十分です。