제목 | CI controller routing iframe 질문 | ||
---|---|---|---|
글쓴이 | 학학이 | 작성시각 | 2016/07/13 12:46:09 |
|
|||
CI에 default_controller를 mangerhome으로 하고 managerhome.php의 index()에서 view('manager'); 호출합니다.
view/manager.php 에선 <iframe src="/managerhome/apiList"> 라는 프레임이 /managerhome/apiList를 호출하는데 다음과 같이 Not Found가 뜨네요 managerhome.php 에 function apiList() 있습니다. iframe도 똑같이 주소찾에 127.0.0.1/managerhome/apiList 한것과 같은거 아닌가요? 해당 url 입력시 또한 안됩니다. 무엇이 문제일까요? |
|||
다음글 | 디폴트페이지 설정에 대해서... (4) | ||
이전글 | CI 개발중 데이터 확인 (5) | ||
kaido
/
2016/07/13 13:13:18 /
추천
0
|
학학이
/
2016/07/13 14:22:55 /
추천
0
헐 혹시 제 서버를 보고 계신가요? 어떻게 바로 해결책이 나오죠? ㅎㅎ 지금 받은 소스에 index.php 죽이기가 되어 있는건가요? controller 기초를 다시 보고 와야하나요? |
학학이
/
2016/07/13 14:25:05 /
추천
0
추가적으로 src="index.php/mangerhome/apiList" 하면 잘 나오네요 서버에 있는 프로젝트 그대로 복사해서 로컬에서 하는중인데 이건 apache 설정 문제인가요? |
kaido
/
2016/07/13 15:07:51 /
추천
0
네. index 죽이기를 하셔야 합니다.
http://www.codeigniter-kr.org/bbs/view/lecture?idx=7073
초보 분들이 흔히 하는 실수 거든요. index.php 죽이기를 빼먹고 테스트 했을 경우입니다. |
학학이
/
2016/07/13 15:23:05 /
추천
0
다시 질문 드립니다. 현재 CI 기능 개선 중이고 서버에 있는 코드엔 $config['index_page'] = 'index.php'; 로 php 죽이기가 안되어 있는데 어떻게 된거죠? |
kaido
/
2016/07/13 15:27:29 /
추천
0
@학학이 링크 드린것을 확인해 보세요.
인덱스를 죽이시려면 서버 설정에서는 3가지가 되어야 합니다. rewrite_mode 가 설정 되어야 하고, .htaccess 파일이 설정 되어야 합니다. 그리고 접근 권한이 Alloverride All 로 설정 되어야 합니다. |
학학이
/
2016/07/13 15:54:38 /
추천
0
네 확인하고 로컬에서도 php 죽이기 하려고 받아온 서버보니 php 죽이기가 안 되어있는 index.php 없이 들어가집니다.
만약 저 3가지가 안되어 있으면 php 죽이기가 안되어있는거라고 볼수 있죠? 받아온 소스코드엔 index_page 에 'index.php'가 들어가 있고 해당 서버에 .htaccess가 없는데 index.php 없어도 됩니다.
왜 이런 경우가 생기는거죠? |
kaido
/
2016/07/13 16:01:14 /
추천
1
혹시 그서버 ngnix 아닌가요? ngnix 는 조금 다른 방법을 사용 하는 걸로 압니다.
혹은 일반적이지 않은 방법으로 없애고 있을 수도 있습니다. 이런건 해당 서버마다 다른지라 딱히 대답해 드릴 수 없는 부분입니다. 제가 텔레파시 능력이 있는 것도 아니고...
중요한것은 그 서버와 동일하게 서버 셋팅이 불가능 하시다면, 보편적인 방법으로 셋팅을 하고 테스트 환경을 완성 하는게 우선 과제 아닐까요? |
학학이
/
2016/07/13 16:35:53 /
추천
0
apache를 쓰고 있는데 일단 로컬 환경에 맞춰서 테스트 해봐야겠네요 ㅎㅎ 감사합니다. |
쌈닭
/
2016/07/15 15:18:53 /
추천
0
.htaccess 파일은 ls -al 명령어로 확인해 보시구요. $config['index_page'] = 'index.php' 이 부분은 CI 함수(?) 중에 CI 구조에 맞게 주소(?)를 생성해 줄 때 추가해주는 부분일 겁니다...아마도... 'index.php' 로 지정 되어 있으면 'index.php/foo/bar' 공백이면 'foo/bar' 'baz로 지정하면 'baz/foo/bar' |
127.0.0.1/index.php/managerhome/apiList
이건 되시나요?