CI 묻고 답하기

제목 url 에 무조건 특정값이 붙어있을 수 있게 하는방법이 궁금합니다..
글쓴이 유저 작성시각 2016/04/25 15:04:01
댓글 : 6 추천 : 0 스크랩 : 0 조회수 : 14168   RSS

임의의 도메인 : test.com

 

test.com/url1/url2/url3 이러한 주소가 있으면

url2 가 class 이름이 되는거고 url3이 method 이름이 되는거 까지는 application/config/routes 에 route를 등록해서 해결을 했습니다.

그런데 test.com/url1/url2/url3 이렇게 입력하는거와 test.com/url2/url3 이렇게 입력을 하는거랑 같은 페이지로 이동이 되더라고요

제가 원하던거는 무조건 url1 을 달고 이동을하는거였거든요. test.com/url2/url3 이렇게 입력을 했을때는 다른 페이지로 이동이되고요.

혹시 이러한 방법을 해결할 수 있는 방법이 있을까요?

 다음글 안녕하세요 이미지 라이브러리의 리사이즈가 안됩니다.. (11)
 이전글 데이터 조회 시 한글 필드명 출력 charset 오류 (4)

댓글

육사시미 / 2016/04/25 15:34:49 / 추천 0

url2와 url3가 특별한 포맷으로 되어 있다면 if문으로 비교해서 처리 가능 합니다.

그렇지 않다면 get 방식으로 데이터를 넘기거나 $this->uri->uri_to_assoc() 와 같이 키/벨류 방식으로 넘겨야 합니다.

kaido / 2016/04/25 15:38:12 / 추천 0

route 설정 안하고 더 간단한 방법은...

/원하는폴더명/ci/

 

앞에 폴더 하나를 넣고 그밑에 ci 를 넣으시면 아무런 설정 없이도 모든 주소는 폴더명을 달고 가야합니다.

[반대로 특정 주소만 route 로 설정 하신다거나]

유저 / 2016/04/25 15:56:49 / 추천 0

지금 url1 값이 붙어있던 안붙어있던 같은 곳으로 이동이 되는데요.

test.com/url2/url3 는 A 라는 곳으로 이동시키고

test.com/url1/url2/url3 는 B 라는 곳으로 이동을 시킬 수 있는 방법이 있을까요?

kaido / 2016/04/25 16:47:27 / 추천 0

route 설정에서 잡힐것 같네요. 

설정하신 route 를 올려주시면 도움이 될것 같습니다.

uri1 이라는 특정 주소가 잡히면 전부 ur1 이하 컨트롤러를 사용하고 [가령 B 컨트롤러]

uri2 / uri3 을 사용하면 일반 적인 컨트롤러를 사용....

 

이렇게 말씀인가요?

유저 / 2016/04/25 17:08:08 / 추천 0

kaido 님 / 

kaido 님이 말씀하신대로 입니다 그러한 방법이 없을까요?

유저 / 2016/04/25 17:16:24 / 추천 0

해결했습니다.

$route['([\w]+)/([\w]+)'] = '붙이고싶은값/$1/$2'; 

이렇게하니 제가 원하던대로 되네요 .. 댓글달아주시고 같이 고민해주신분들 진심으로 감사합니다.