2014-10-12 1 views
0

laravel 프레임 워크를 사용 중입니다. 매개 변수를 취하는 routes의 커플을 example.com/route/{dir_name}과 같이 설정했습니다. 나는 자식이있는 dir을 통과 할 때 그것을 다른 경로로 간주합니다. 그것을 무시할 수있는 방법이 있습니까? 나는 그것이 Symfony\Component\HttpKernel\ Exception\NotFoundHttpException 예외가 발생 /route/something/home/user/dev를 사용하는 경우라우트 라우팅 문제

Route::get('/route/something/{path}',array('as'=>'something',function($path){ 
    return $path; 
})); 

:

이 코드를 사용하고 있습니다.

답변

1

정규 표현식을 사용하여 route 매개 변수에 제약 조건을 사용할 수 있습니다.

Route::any('/route/{dir_name}', function ($dir_name) { 
    return $dir_name; 
})->where('dir_name', '.*'); 

는 문서 섹션에 대한 route parameters, 특히 "정규 표현식 경로 제약"부분을 참조하십시오.

+0

leme check, 작동하는 것 같습니다! – Prakhar

+0

및 : D 작동했습니다. – Prakhar

+0

쿨, 다행 알고 :) – borfast

0

당신은이 example.com/route/{dir_name}

나는 당신이 걸리는이 방법을 것 경로가 SomeController.php 파일에서 routes.php

Route::get('/route/{dir_name}', [ 
    'as' => 'someRoute', 
    'uses' => '[email protected]' 
]); 

에 정의 된 가정 대신

public function index($dir_name) { 
return $dir_name; 
} 

은 {만약 DIR_Name} 당신은 경로

Route::get('/route/something/{path}',array('as'=>'something',function($path){ 
    return $path; 
})); 

/경로/뭔가 당신이 당신의 URL에서 뭔가 다음은 경로에 있어야한다를 원한다면/{경로}

. 이것이 이유입니다. NotFoundHttpException

+0

이 중 하나가 작동하지 않습니다 – Prakhar

+0

전체 경로 파일 버디를 붙여 넣습니다. 내가 도울 수 있는지 보자. – arkhamDev

+0

나는/route/{dir-here}와 같은 나의 URL에 몇몇 디렉토리를 전달하기를 원하지만 laravel이 경로에서 "/"를 만나면 그것을 경로로 간주하므로 어떻게 멈추어야 하는가? 에서> – Prakhar