There is a new Route::redirect() available now since 5.5 which just takes the URIs:
Route::redirect('/topic/titlehere', '/topic/categoryhere/titlehere', 307);
You need to ensure that you have a route defined matching the new URI.
Route::get('/topic/{category}/{title}','DetailController@index');
For information, the redirect()->action() method does not take a URI, only the Controller@action