2013-02-25 3 views
0

내 codeigniter 사이트에서 위치 페이지를 만들고 싶습니다. 그래서 위치와 인덱스 메소드라는 하나의 컨트롤러가 있습니다. 그래서 모든 요청 http://mysite.com/location_namehttp://mysite.com/index.php/locations/index에 착륙해야합니다. http://mysite.com/login처럼 나머지는 모두 http://mysite.com/index.php/home/login으로 착륙해야합니다. 연락처 http://mysite.com/contact-ushttp://mysite.com/index.php/home/contact으로 착륙해야합니다. codeigniter의 리디렉션 규칙

나는 다음 행 노선 규칙 (route.php)를 작성하여이를 달성하기 위해 노력 :

$route['(:any)'] = 'locations'; //location name can be anything around the world 

위치가 잘 작동되도록하지만, http://mysite.com/loginhttp://mysite.com/contact-us들이 무한 루프에 지속적으로 리디렉션 작동하지 않습니다.

해결 방법을 제안하십시오. 감사.

+0

경로는 외관 순서에 따라 다르다는 것을 기억하십시오.'(: any)' –

+0

@ eric.itzhak, 감사하기 전에 login과 contact-us 로직을 설정해야합니다. 감사합니다. 그러나 나는 이미 그 명령을 가지고 노력했다. 나는 집에 대한 규칙을 작성하고, 로그인하고, 우리에게 먼저 연락한다. 그리고 마지막으로. 여전히 문제에 직면 해 있습니다. –

답변

0

routes are applied from top to bottom, 그래서 당신은 당신의보다 구체적인 규칙이 먼저 나열되어 있어야합니다 다음 마지막으로 더 일반적인 규칙 :

$route['login'] = 'home/login'; 
$route['contact-us'] = 'home/contact'; 
$route['(:any)'] = 'location/index'; 

나는 당신이 당신의 경로에 규칙의 순서를 변경 시도했습니다 언급 한 것을 볼 수 파일. 그래서 당신이 이것을하고 그것이 효과가 없다면 - 당신은 다른 일이 있습니다.

내가 이런 것들을 확인합니다 : (당신이 그것을 사용하는 경우) 무한 루프 (이 어떤 리디렉션, _remap 방법 등)을 일으키는

  • 컨트롤러를

    • htaccess로 파일을