Laravel 5.1 - 路由是正确的,在localhost工作正常,在线给我404

I've just configured my routes correctly as i do usually:

Route::get('/news/', 'PagesController@news');
Route::get('/news/{id}', 'PagesController@newsDetail');

In my PagesController i create also 2 variables to pass to the view:

$relatedOlder = (
    News::where('created_at', '<', $currentPostDate)
    ->orderBy('created_at', 'desc')->value('created_at') != '') ? 
    News::where('created_at', '<', $currentPostDate)
    ->orderBy('created_at', 'desc')->firstOrFail() : 
    News::where('created_at', '>', $currentPostDate)
    ->orderBy('created_at', 'asc')->skip(1)->take(2)->firstOrFail();

$relatedNewer = (
    News::where('created_at', '>', $currentPostDate)
    ->orderBy('created_at', 'asc')->value('created_at') != '') ? 
    News::where('created_at', '>', $currentPostDate)
    ->orderBy('created_at', 'asc')->firstOrFail() : 
    News::where('created_at', '<', $currentPostDate)
    ->orderBy('created_at', 'desc')->skip(1)->take(2)->firstOrFail();

On localhost everything works perfectly, but online these 2 variables give me 404 error once i go to /news/{id-of-my-post} If i don't pass to my view these vars it works. My query seems to be correct but i don't understand if it could be a server/cache problem or what else. Any idea?