2014-02-27 2 views
3

라우팅에 대한 Laravel 4 설명서에 따라 도메인 경로를 만들어 와일드 카드 하위 도메인을 처리하고 컨트롤러 동작,하지만 인수를 전달하는 데 문제가 있습니다.컨트롤러를 사용하여 하위 도메인을 인수로 전달하는 Laravel 4 하위 도메인 경로 처리 방법

Route::group(array('domain' => '{subdomain}.myapp.com'), function() 
{ 
    Route::get('/', function($subdomain) 
    { 
     die($subdomain); 
    }); 
}); 

이렇게 경로를 작성하면 하위 도메인이 무엇이든 인쇄됩니다. 문제는 routes.php 파일에서 이러한 상황을 처리하는 코드를 작성하고 싶지는 않지만 컨트롤러를 사용하여 subdomain.myapp.com에서 myapp.com/controller/action/로 리디렉션하지 않고도이 모든 상황을 처리 할 수 ​​있다는 것입니다. 하위 도메인 그래서, 이런 식으로 뭔가 :

Route::group(array('domain' => '{subdomain}.myapp.com'), function() 
{ 
    Route::get('/', '[email protected]', $subdomain); 
}); 

어떻게이 경우 컨트롤러에 {하위} 인수를 전달합니까?

답변

2

아침이 밤보다 똑똑한 것처럼 보입니다. 디스패치 솔루션을 사용하여 다른 사람들이보다 세련된 솔루션을 제공한다면 언제든지 게시 해주십시오. 대신 답변을 수락하겠습니다.

Route::group(array('domain' => '{subdomain}.myapp.com'), function() 
{ 
    Route::get('/', function($subdomain) { 
     $request = Request::create('/myRoute/' . $subdomain, 'GET', array()); 
     return Route::dispatch($request)->getContent(); 
    }); 
}); 

Route::get('myRoute/{subdomain}', '[email protected]'); 
관련 문제