2013-11-25 2 views
0

하위 폴더 내에 두 개의 컨트롤러를 사용하고 있지만 컨트롤러가 아닌 URL에 함수 이름 만 표시해야합니다.Codeigniter 제어 하위 폴더 컨트롤러 경로

$route['admin/test'] = "admin/sample/test"; 

$route['admin/test1'] = "admin/index/test1"; 

관리 컨트롤러에서 하위 폴더입니다.

인덱스샘플은 contollers입니다. 이

$route['test'] = 'admin/sample/test'; 
$route['test1'] = 'admin/index/test1'; 

이 또한 내가 인덱스라는 이름의 컨트롤러가하지 않는 제안처럼

답변

1

귀하의 루트 파일이 있어야합니다. index()은 일반적으로 각 컨트롤러의 기본 기능입니다.

+0

대단히 고마워요. 그것은 작동하지만 각각의 모든 기능에 대해 두 개의 컨트롤러로 작성 중이므로 routes.php에 새로운 경로를 작성해야합니다. – PrabhuPHP

1

Codeigniter 3의 경우 모든 방법을 컨트롤러로 리디렉션하는 것이 더 쉬우 며 정규 표현식을 사용하여 수행 할 수 있습니다.

$route['admin/([^/]+)'] = 'admin/sample/$1'; 

문서 : https://codeigniter.com/user_guide/general/routing.html#regular-expressions

$ 1 배열 키의 첫 번째 정규 표현식을 나타내며, 정규 표현식은 괄호로 이동해야합니다. 더 많은 표현식을 사용하면 $ 1, $ 2, $ 3 등을 사용할 수 있습니다.

관련 문제