CI 묻고 답하기

제목 모바일사이트를 Controller와 View만 다르게 사용하고 싶습니다.
카테고리 CI 2, 3
글쓴이 혜화꽃미미 작성시각 2017/02/20 15:50:27
댓글 : 2 추천 : 0 스크랩 : 0 조회수 : 22037   RSS

안녕하세요.

웹사이트 구축이 완료되어서 모바일사이트를 구축하려고 하는데..

기존 웹사이트때 구축했던 Model이나 기타 Library는 동일하게 사용하고 Controller와 View만 다르게 사용하고 싶습니다.

기존에 다른 분들이 올려놓으신 글을 읽어보니깐 application 디렉토리를 각각 만들어서 분기처리하는 글이 많더라구요..

제가 하고 싶은건 동일한 /application 디렉토리 아래에 /application/controllers/m, /application/views/m 을 만들어서 m디렉토리 밑에 모바일 소스를 넣으려고 합니다.

그리고 url은 www.test.com/m/abc가 아닌 m.test.com이 바로 m 디렉토리를 바라보도록 서브도메인으로 연결하고 싶습니다.

CI를 사용하지 않고 클래식 php로 개발 할 때는 www.test.com이라는 사이트에 /public_html/m을 생성해서 여기에 virtualhost 셋팅을 하여 서브도메인을 연결해서 m.test.com은 운영을 해보았습니다.

근데 CI는 virtualhost 셋팅만으로는 어려운 것 같더라구요..

#www.test.com
<VirtualHost *:80>
        ServerName www.test.com
        ServerAdmin abc@test.com
        DocumentRoot C:/workspace/test/public_html
</VirtualHost>

#m.test.com
<VirtualHost *:80>
        ServerName m.test.com
        ServerAdmin abc@test.com
        DocumentRoot C:/workspace/test/public_html/application/controllers/m
</VirtualHost>

 

혹시라도.. routing이나 제가 잘 모르는 부분에서 구현 가능한 방법이 있을까 하여 문의 드려봅니다.

 다음글 개발서버에서 가져온 CI보드 페이지 이동이 안됩니다. (2)
 이전글 phpexcel라이브러리 pdf 파일로 변경 에러

댓글

변종원(웅파) / 2017/02/20 17:15:44 / 추천 0
혜화꽃미미 / 2017/02/24 16:17:24 / 추천 0

웅파님이 알려주신 url은.. 질문 올리기전에 봤었는데 제 의도와는 좀 다른 듯 하였습니다.. 그래도 답변 주셔서 정말 감사합니다^^

if(strpos($_SERVER['SERVER_NAME'], 'm.test.com') !== false) {		//모바일 url 들어왔을 때
	$route['(:any)'] = 'm/$1';
	$route['(:any)/(:any)'] = 'm/$1/$2';
}

저는 routes.php 에서 위와 같이 처리하여 모바일 url로 들어왔을때 url에 m이라는 경로를 숨기도록 하였습니다.

그리고 main에서 mobile체크와 도메인 체크를 다시 해서 mobile 기기로 접속했을 때는 모바일 url로 리다이렉트 시키도록 처리하여 해결하였습니다.

위에 질문 내용중에 virtualhost 쪽은 건드리지 않았구요..

이번 작업하면서 라우트에 대해 자세히 알게 되었네요ㅎ

유투브에 동영상도 많이 봤고 웅파님이 보내주신 url도 스킬업에 많이 도움이 되었구요.

감사합니다:)