2013-09-26 3 views
1

URL에서 매개 변수를 가져와 기본 컨트롤러의 인덱스 함수에 제공하는 응용 프로그램을 작성하려고합니다. 그런 다음이 매개 변수에 따라 기본 홈 페이지 또는 사용자 정의 페이지에 따라로드 할 항목을 결정합니다.Codeigniter Routing

$route['(eventguide/:any)'] = 'eventguide'; 

이 코드는 내가 지금과 같은 URL에 컨트롤러가있는 경우에만 작동하지만 :

example.com/eventguide/(parameter) 내가 컨트롤러 이름을 포함하지 않을

. 그래서 나는 이것을 정확하게 전달할 방법이 확실하지 않습니다.

이상적으로 URL은 example.com/ (매개 변수)처럼 보일 것입니다. 가능합니까?

답변

3

네, 거의 다 왔어 :

$route['(:any)'] = "eventguide/index/$1"; 

그리고 색인() 메소드에

당신이 매개 변수를 가져 오기 :

public function index($parameter = null){ 

} 

$parameter 것이다 이제 :any 바로 가기에 걸려 아무 것도 포함을하는 (\w)+과 같아야합니다. IIRC

이 경로는 포괄 경로이므로 다른 모든 맞춤 경로보다 먼저이 필요합니다. 그렇지 않으면 도달하지 않습니다. 당신이 "admin"을 컨트롤러가있는 경우에 대한 예.
는 경로 파일은 내가 그냥 인덱스 컨트롤러에 나를 소요이를로드 할 때 나는, 관리자라는 또 다른 컨트롤러가 ;:

$route['admin'] = "admin"; 
$route['(:any)'] = "eventguide/index/$1"; 
+0

해야한다. 이 컨트롤러에 지금 어떻게 링크합니까? 예 : example.com/admin – Danny

+1

이전으로 배치하십시오. 업데이트를 참조하십시오. –

+0

라우팅에 문제가 있습니다. CI 버전 2.1.3을 사용하고 있습니다. 나는 이것을했고 인터넷 (서버)에서 작동하지만 내 로컬 서버에서는 작동하지 않습니다. : / –