2012-07-12 4 views
0

Codeigniter 2를 사용하고 있으며 현재 'Routers'구성 파일을 사용하여 경로를 설정하고 있습니다. IonAuth 라이브러리도 사용하고 있습니다. Codeigniter 2 추적 할 수없는 세그먼트 수/매개 변수가있는 라우팅

$route['admin/(login|logout|change_password|forgot_password|reset_password 
|activate|deactivate|create_user)'] = "auth/$1"; 

지금 내 문제는 IonAuth 방법의 일부, 아무도, 1 개 또는 2 개 개의 매개 변수가없는 점이다 : 내가 좋아하는 일을하는 코드가 있습니다. 내가 좋아하는 URL에 액세스하려고하면 는 :

http://localhost/ion_auth_try/admin/deactivate/1 

나는 404 오류가 발생합니다.

'비활성화'메소드의 서명은 지금 오랫동안이 문제를 해결하기 위해 노력했습니다

function deactivate($id = NULL) 

입니다. 나는 붙어있다.

답변

3

내가 너라면, 대신이 작업을 수행 할 것입니다.

$route['admin/(:any)'] = "auth/$1"; 

훨씬 더 간단하고 문제를 완벽하게 해결합니다. 위의 규칙을 사용하면 admin/some_methodadmin/some_other_method/with_a_parameter에 모두 액세스 할 수 있습니다. http://codeigniter.com/user_guide/general/routing.html 여기

+0

내 문제입니다 : 의 내가 말을하자

$route['admin'] = "auth"; 

는 문서를 참조하십시오 : 그러나, 당신은 단지 admin을 입력하여 페이지에 액세스 할 수 있다면, 당신은 다음과 같은 추가해야 할 것입니다 점에 유의해야한다
$ route [ 'admin/deactivate/(: num)'] = "auth/$ 1"; 코드가 있습니다.
그리고 'admin/deactivate /'에 액세스하고 싶습니다. 할 수 없습니다. –

+0

실제로'$ route [ 'admin/(: any)'] = "auth/$ 1";로 변경하려고 했습니까? –

+0

예, 있습니다. 이 작업을 수행하는 유일한 방법은 수많은 Routes configs를 작성하는 것입니다. 내가 피할 수있는 방법이 있는지 또는 어쩌면 일부 정규 표현식을 사용하여 동적으로 일치시키는 방법이 있는지 궁금합니다. –