질문 Q #9683
/index.php/welcome 이 안 열립니다.
kerocat 2012-01-11 15:10:07
이거 뭐라고 해야할지 참 난감하네요

우선 아파치 웹서버 설정해서 CI 를 설치했습니다.

http://xxx.xxx.xxx.xxx/index.php  이렇게 하면 welcome controller class 가 실행 됩니다.(처음 설치된 그대로이므로 디폴트 값이 사용됩니다.)
http://xxx.xxx.xxx.xxx/index.php?c=welcome  이렇게 열어도 welcome controller class 가 실행 됩니다.

그런데
http://xxx.xxx.xxx.xxx/index.php/welcome   이렇게 하면 404 Not Found 가 떠버립니다.

즉 원래 index.php/ 뒤에 오는 값 으로 컨트롤러 클래스를 찾아야 하는데
index.php 라는 디렉토리 안에 있는 welcome 라는 파일을 찾고 있는 상황이 되어 버립니다.

아파치 설정 파일도 이리 저리 건드려보았지만 통 답이 안 나오네요

혹시 해결책 아시는 분 도와주세요~
답변 3
#1 변종원(웅파) 2012-01-11 19:10:58
 codeigniter에서 아무 셋팅도 하지않은 기본 주소는 

http://aaa.aaa/index.php/welcome   형태입니다.

자주 경험할 수 있는 현상은 아니지만 isp(인터넷회선)에 따라 index.php?/ 라고 인식되는 경우가 있습니다.

ci의 index.php 파일 제일 윗 부분 3번째 줄쯤에 var_dump($_SERVER); 라고 넣고
아래 값과 비교하여 동일하게 찍히는지 확인해보세요.

["QUERY_STRING"]=>
 string(0) ""
 ["REQUEST_URI"]=>
 string(1) "/"
 ["SCRIPT_NAME"]=>
 string(10) "/index.php"
 ["PHP_SELF"]=>
 string(10) "/index.php"
  
  
#2 타로 2012-01-12 12:21:11
 Apache 설정파일에서 mod_rewrite module 설치되어 있는지 확인해 보세요.

CI 설치 위치의 .htaccess 파일도 확인해 보시고요. 아래 링크 참조:::
http://www.codeigniter-kr.org/lecture/view/213/page/1/ 

#3 데이빗박 2012-04-13 14:59:59
 저도 이틀만에 찾아 냅니다. ㅠ
정말 별거 아니지만, 프레임워크를 사용하려 하니 복잡하네요.
적응하면 완전 편할거 같음. ㅎ

자 답입니다. 
2.0.0 이상부터 는 Controller -> CI_Controller 로 변경되었다고 합니다.