2012-11-08 5 views
0

URL 단축 URL 웹 사이트를 구축 중입니다. 당신이 보는대로 CI 위키 here에 언급 한 바와 같이, 나는 언어를 구현,Codeigniter Route Confusion

$route['default_controller'] = "main"; 
$route['404_override'] = ''; 
$route['(\w{2})/(.*)']  = '$2'; 
$route['(\w{2})']    = $route['default_controller']; 

$route['join']    = 'main/join'; 
$route['activate/(:any)']  = "main/activate/$1"; 
$route['login']    = 'main/login'; 
$route['logout']    = 'main/logout'; 
$route['main/login']   = 'main/login'; 
$route['main/join']   = 'main/join'; 
$route['url/short']   = 'url/short'; 
$route['user']    = 'user/index'; 
$route['user/index']   = 'user/index'; 
$route['user/index/(:num)'] = 'user/index/$1'; 
$route['profile']    = 'user/profile'; 
$route['user/delete/(:any)'] = "user/delete/$1"; 

$route['(:any)']    = "url/go/$1"; 

음 :

여기 내 config/routes.php 파일입니다.

하지만 이제 경로의 마지막 줄이 정상적으로 작동하지 않습니다.

예를 들어
$route['(:any)']    = "url/go/$1"; 

, myshortner.com/as34v 위 경로와 일치 전체 URL로 리디렉션, 대신 그것은 0.0.0.1로 리디렉션한다! 이 문제를 어떻게 해결할 수 있습니까?

+0

숫자 매개 변수를 기대하는 함수로 go가있는 컨트롤러로 url을 가지고 있습니까? 그렇지 않으면 메인 컨트롤러 인 기본 컨트롤러로 이동하여 인덱스 기능에있는 내용을 찾습니다. – nasaa

+0

"대신 0.0.0.1로 리디렉션됩니다."라고 할 때 무슨 뜻입니까? 제 말은, 당신이 리다이렉트 한 것을 알 수있는 유일한 방법은 특정 컨트롤러의 함수가 호출되었을 때였고,'0.0.0.1'은 실제로 그 의미에서 의미가 없다는 것입니다. – Jasper

+0

세번째 파라미터는 유효한'method'이어야합니다. 'class'의 이름이고 존재하지 않는 메소드 이름으로'$ 1'을 전달했습니다. –

답변

0

먼저 $ 1에있는 매개 변수를 사용하는 "go"함수가있는 URL 컨트롤러가 있어야합니다. 존재하는지 확인하십시오.

+0

첫 번째 rwo 경로와 마지막 경로 사이에 충돌이 있으면 알려주십시오. 어쩌면 이것이 문제 일 수 있습니다. –

+0

문제가되는 경로에는 아무 것도 표시되지 않습니다. 당신이 디버깅하고 있기 때문에 귀하의 컨트롤러 기능에 에코를 넣어 컨트롤러가 실제로 공격 받고 있다는 URL을 사용할 때를 확인하십시오. 디버그 메시지가 인쇄되면 경로에 코드가 아닌 논리 문제가 있습니다. 메시지가 인쇄되지 않으면 경로의 마지막 줄 이외의 모든 것을 주석 처리하십시오. 그 결과를 알려주십시오. – Shawn

+0

사실 나는 그 경로에 문제가 있다고 생각합니다. 당신이 사용하고있는 테스트 URL을 제공 할 수 있습니까? 감사. – Shawn