2013-06-17 4 views
0

일반적으로 Codeigniter에서 URL은 기본적으로 2 ~ 3 개의 세그먼트가 있습니다. http://www.yoursite.com/controller/functionuri codeignighter의 두 번째 세그먼트에 값을 전달합니다.

제 질문은 제 코드가 컨트롤러의 색인 부분에 있으면 값으로 대체 할 수 있습니까?

나는 사용자 프로필 용 컨트롤러가 있으며, 가장 간단한 URL을 만들려고 노력하고 있으므로 쉽게 공유 할 수 있습니다. 예를 들어, URL을 이와 같은 함수로 호출하는 대신 http://www.mywebsite.com/author/zazvorniki과 같게하고 싶습니다. http://www.mywebsite.com/author/user/zazvorniki

이것이 가능합니까? 이 작업을 가능하게하기 위해 변경할 수있는 설정이 있습니까?

+0

... http://ellislab.com/codeigniter/user-guide/general/routing.html – Orangepill

+0

내가 그보고 있었다, 그러나 보인다 당신은 라우팅 규칙을 설정하면 그 그것을 단 하나의 컨트롤러 대신 모든 URL에 영향을 미칠 것입니다 ... 나는 그 권리를 읽고 있습니까? 나는 모든 것을 망쳐 놓을 까봐 두려워 ... – zazvorniki

+0

컨트롤러 슬러그 (예 :/author /) – Orangepill

답변

2

다음 경로 규칙을 추가하기 만하면됩니다. 어쩌면 도움

$route['author/(:any)'] = "author/user/$1"; 
+0

너무 밀도가 높아서 미안하지만 아직도 나에게 어떤 의미가 없습니다. 내가 게시 한 규칙을 따르면 여전히 사용자 이름이있는 기능을 찾고있는 것처럼 보이기 때문에 404 오류 페이지가 다시 표시됩니다. – zazvorniki

+0

테스트를 위해서'$ route [ 'authors/(: username)]] = "author/user/$ 1";에 규칙을 변경하면 기존 작성자 컨트롤러 경로와 충돌하지 않습니다. – Orangepill

+0

감사합니다! 나는 그것을 알아 냈다. 웬일인지 그것은 username :을 좋아하지 않았지만 받아 들였다 : any. – zazvorniki

관련 문제