2016-09-06 4 views
1

Laravel에서 간단한 페이지 기능을위한 동적 경로가 필요합니다.Laravel - "시뮬레이트"/ 경로 루틴 호출

그렇다면 /blog과 같은 몇 개의 경로가 BlogController를 호출하는 것과 같습니다. PageController를 호출하는 /page/{slug}과 같은 경로가 있습니다.

경로를 찾지 못하면 어떻게 할 수 있습니까 (예 : /my-test-page). 시스템은 경로가 /page/my-test-page 인 것처럼 컨트롤러를 호출합니다 (따라서 PageController가 데이터베이스에서 페이지를 찾을 수없는 경우에만 404가 throw됩니다) .

나는 404 예외를 잡아낼 수있는 것을 보았지만, 나는 어떻게 할 수 있는지 모른다. 거기에서 PageController에 대한 라우트 호출을 시뮬레이트 할 수 있습니까?

고맙습니다.

+0

'PageController'에'/ {slug} '경로를 등록하지 않는 이유는 무엇입니까? – tkausl

+0

내 경로가 다른 경로 파일 (다른 모듈)에서 동적으로로드되기 때문에이 경로를 마지막으로 등록 할 수는 없습니다. 그래서'BlogController' 대신에'/ blog'를'PageController'에 붙잡아 두지 않겠습니까 – Giedrius

+0

"이 경로를 마지막으로 등록 할 수는 없어요"- 왜 안 되니? – iainn

답변

1
redirect(action([email protected])) 

이 방법으로 문제가 해결 되었습니까? 물론 redirect() 메소드를 가져와야 할 것이다.

+0

URL을 변경하지 않고 가능한 해결책이 있는지를 확인하는 방법으로 문제를 해결합니까? 따라서 사용자는 'http : // example.com/my-test-page'로 유지됩니다. – Giedrius

+0

컨트롤러 메소드로 이동하면 필요한 뷰를 반환 할 수 있습니다. 내가 놓친 게 있니? –

+0

동작으로 리디렉션하지 않습니다? 그래서 사용자는'http : // example.com/page/my-test-page'로 돌아갈 것입니까? – Giedrius