2012-08-31 5 views
1

라우드벨을 사용하기 시작 했으므로 라우트 아이디어가 마음에 들지만 와일드 카드가있는 경로는 라우라 레벨 404 라우트로 되돌아갑니다.와일드 카드가있는 라우트 라우트 항상 404

# This loads fine 
Route::get('hello', function(){ 
    return 'Hello!'; 
}); 

# This gives me a 404 
Route::get('hello/(:any)', function ($name) { 
    return "Welcome, $name."; 
}); 

Route::get(array('/'), function() 
{ 
    return View::make('home.index'); 
}); 

Event::listen('404', function() 
{ 
    return Response::error('404'); 
}); 

Event::listen('500', function() 
{ 
    return Response::error('500'); 
}); 

나는 또한 아무 소용 any으로 시도했다 :

여기 내 경로 파일입니다.

Route::any('hello/(:any)', function ($name) { 
    return "Sup, $name?"; 
}); 

왜 내가 404s를 얻는 지에 대한 아이디어가 있습니까?

편집 : 내 PHP 설정에서 반점이 있거나 클래스 별칭을 적절하게 처리하지 못했습니다. 클래스에 별칭을 매핑하는 도우미 클래스에 추가하면 대부분의 경우에 작동합니다.

답변

5

Laravel의 다른 새로운 사람들에게 이것은 선택 매개 변수로 경로를 설정하는 방법입니다.

Route::get('hello/(:any?)', function ($name = 'default') { 
    return "Welcome, $name."; 
}); 
2

Apache 재 작성 모듈이 활성화되어 있습니까?
Laravel 설치시 첫 번째 경로를 사용해 보았지만 제대로 작동합니다.

+0

그래, 아파치가 아니라 Laravel에서 404를 얻는다. 나는 그것이 바보 같았고 길을 이해하지 못했기 때문에 그것이라고 생각한다. 익명 함수에 디폴트 옵션이 전달 된'(: any?)'이어야합니다. 좀 봐 주셔서 감사합니다! – MetalFrog

관련 문제