2017-05-22 1 views
3

나는 현재 Laravel 5에 여러 노선을 가지고 있지만, 그들을 분리하고 싶지 않기 때문에 별도로 분리하지 않고 그룹화하고 싶습니다. 어떻게해야합니까? 난 그냥 하나의 경로를 만들 수있는 방법Laravel 5.4 Routes

Route::get('url1', function() { 
    return Redirect::to('/'); 
} 

Route::get('url2', function() { 
    return Redirect::to('/'); 
} 

Route::get('url3', function() { 
    return Redirect::to('/'); 
} 

그래서 어쩌면처럼 반복해야 그나마 :

Route::get('url1','url2','url3', function(){ 
    return Redirect::to('/'); 
}); 

당신을 감사드립니다.

+0

무엇을 의미합니까? –

+1

잠깐, url1과 url2가 완전히 다른가요? 또는 example.com/1 및 example.com/2를 원하십니까? 그들은 공통점이 있습니까? –

+0

나는 그것들을 그룹화하는 것이 갈 방법이라고 생각한다. (이것을 테스트하기 위해 laravel project atm이 없기 때문에 확실하지 않다) : https://laravel.com/docs/5.4/routing#route-groups – Loko

답변

1

당신은 당신의 경로에 대한 정규 표현식을 사용할 수 있습니다 : 그들은 당신이 같은 논리를 사용하여 다른 경우

Route::get('{url}', function ($name) { 
    Redirect::to('/'); 
})->where('url', 'url[0-9]+'); 

이것은 URL

뒤에 숫자로 모든 경로를 리디렉션합니다 :

Route::get('{url}', function ($name) { 
    Redirect::to('/'); 
})->where('url', 'url1|url2|url3'); 
0

이 코드는 어떨까요? 동적 경로 매개 변수를 사용할 수 있습니다. 네 생각을 말해봐?

Route::get('{slug?}', function($slug = 'index') 
{ 
    return Redirect::to('/'); 
})->where('slug', '(url1|url2|url3)'); 
0

또는 foreach 루프를 사용하면됩니다.

foreach(['url1', 'url2', 'url3'] as $url) 
{ 
    Route::get($url, function() { 
     return Redirect::to('/'); 
    } 
}