(:임의)에 대한 코드 점화기의 라우팅
저는 제 CodeIgniter 응용 프로그램을 워드프레스와 비슷하게 작동시키려고 합니다.
저는 다음과 같은 URL을 만들 수 있기를 원합니다.
http://www.example.com/my-post-example
http://www.example.com/new-headline-here
http://www.example.com/i-love-stackoverflow
내 라우팅:
$route['(:any)'] = "core/index/$1";
그러면 코어 컨트롤러를 호출하고 페이지 이름을 인덱스 함수로 전달합니다.
그런 다음 데이터베이스에서 페이지 이름을 검색하고 사용자에게 페이지를 표시합니다.지금까지는 좋습니다.
하지만 다른 컨트롤러를 호출하고 싶을 때가 있을 것입니다.예:
http://www.example.com/admin/edit_page/3
http://www.example.com/admin/settings
이제 내 경로가 이 모든 규칙을 가져와서 내 코어 컨트롤러로 전송할 것이라고 가정합니다.특정 페이지에 대해 예외를 둘 수 있는 방법이 있습니까?아니면 내 코어 컨트롤러 내부에서 이 검사를 수행하는 것이 좋은 방법입니까?
예를들면,
if ($page not in DB) {
// Call controller/method
}
이것은 CodeIgniter가 이것을 처리하기를 원하기 때문에 약간 중복된 것처럼 보입니다.
사용자가 사용하는 라우팅 규칙은 사용자의 목적에 적합합니다.
사용하는 경우http://www.example.com/admin/edit_page/3
그것이 당신에게 보낼 이 링크.admin
컨트롤러 및edit_page
방법.경로를 사용하지 않습니다.any
규칙.
하지만 당신의 링크가 이렇게 보인다면 당신은 한가지 문제를 갖게 될 것입니다.
http://www.example.com/my-post-example/test
그것은 가려고 노력할 것입니다.my-post-example
컨트롤러 및 테스트 방법.
다시.http://www.example.com/admin
경로를 사용합니다.any
규칙. 즉, 사용자를 코어 컨트롤러로 리디렉션합니다.admin/index
그런 경우 URL은 다음과 같아야 합니다.http://www.example.com/admin/index
마지막으로 컨트롤러/메소드 이름을 사용하여 다른 링크를 호출하면 다음 링크를 사용하여 OK입니다.any
규칙.
언급URL : https://stackoverflow.com/questions/43908653/routing-in-codeigniter-for-any
'programing' 카테고리의 다른 글
Mac용 Office 2011의 VBA 셸 기능 (0) | 2023.07.09 |
---|---|
django에서 그룹에 사용자 추가 (0) | 2023.07.09 |
'JavaCompile' 유형 속성 'options.compilerArgumentProviders.apt$0.name '에 입력 또는 출력 주석이 없습니다.Gradle 7로 업그레이드한 후 오류 발생 (0) | 2023.07.09 |
64비트 Linux OS에서 32비트용 컴파일 프로그램으로 인해 치명적인 오류가 발생함 (0) | 2023.07.09 |
문자열 내의 특정 문자 바꾸기 (0) | 2023.07.04 |