CI 묻고 답하기

제목 웹호스팅 경로 관련
글쓴이 코드10 작성시각 2015/05/08 12:40:15
댓글 : 10 추천 : 0 스크랩 : 0 조회수 : 15777   RSS
안녕하세요. 나이 먹고 코딩을 배우려니 엄청나게 쩔쩔 매고 있는 초보입니다.
제가 코드이그나이터를 배우고 로컬에서만 작업을 하다가, 무료 웹호스팅을 이용해보려고 시도하는 중인데요.
처음부터 막혀서 한참을 좌절중입니다ㅠ

제가 겪고 있는 문제는요...
로컬에서 localhost/index.php/controller파일명 이라고 입력하면 되던 것이,
웹호스팅에서는 호스트/index.php/controller파일명 라고 입력하면 접속이 안된다는 겁니다.
그런데 호스트명만 입력했을 때, 코드이그나이터의 welcome 페이지는 잘 출력이 됩니다.





왜 이럴까요?ㅠ 부트스트랩, 코드이그나이터, mysql 로 만들었구요. 호스팅 업체는 woobi.kr 이라는 곳입니다. FTP 프로그램은 알드라이브를 사용했구요. 고수님들의 속시원한 답변 기디할게요. 도와주세요ㅠ
태그 웹호스팅,404pagenotfound
 다음글 codeigniter 에서 https적용 방법 (1)
 이전글 cookie의 물리적 size가 커서 header si... (2)

댓글

한대승(불의회상) / 2015/05/08 13:16:24 / 추천 0
속시원히 알려드리고 싶은데 정보가 너무 부족하네요.
.htaccess 파일 내용이 궁금 합니다.
아 골치야 / 2015/05/08 20:01:14 / 추천 0
아닐수도 있지만 혹시나 해서 댓글 남겨드립니다.

컨피그 파일 안에
$config['base_url']    = '';
요부분이 잘못 된걸수도 있다고 생각되어지네용..ㅎㅎ

$config['base_url']    = '호스트주소'; 로... 변경이 안되어있다면 변경 해주셔요~
코드10 / 2015/05/09 18:50:45 / 추천 0
@한대승(불의회상)

.htaccess 파일이 어떤건지 몰라 검색을 해보니 아래 사진과 같은 결과가 나오네요.


파일을 열어서 내용을 보니, 3개 파일 모두 'Deny from all' 이라는 내용만 적혀 있네요...

코드10 / 2015/05/09 18:51:27 / 추천 0
@한대승(불의회상) 뭔가 잘못 된걸까요?ㅠㅠ
코드10 / 2015/05/09 18:52:53 / 추천 0
@아 골치야 $config['base_url'] = '호스트주소'; 로 변경해봤는데도 같은 결과네요ㅠ 답변 고맙습니다
변종원(웅파) / 2015/05/10 18:38:39 / 추천 0
웹호스팅이 윈도우? 리눅스 인지..

어쨌든 웹서버에 mod_rewrite라는 모듈이 적용되어야 index.php를 없앨 수가 있는데 웹호스팅에서는 그 부분이
안되는 겁니다. .htaccess 파일을 다시 올려보세요.

강좌게시판에서 index.php 죽이기 참고하세요.
한대승(불의회상) / 2015/05/11 10:34:48 / 추천 0
index.php 와 함께 있는 .htaccess 의 내용이 필요 합니다.
코드10 / 2015/05/12 20:05:46 / 추천 0
@한대승(불의회상) @변종원(웅파) 윈도우입니다! htaccess 파일을 올리려고 찾아봤는데 아무리 봐도 index.php 파일이 있는 디렉토리에 htaccess파일이 안 보이네요... 아예 없다면 문제가 되는거겠죠? 웅파님이 쓰신 index.php 죽이기 읽어봤는데요. 거기에 있는 정형화된 htaccess 파일을 갖다 쓰면 될까요? 저장할 때 확장자는 어떤걸 써야 되나요?
한대승(불의회상) / 2015/05/13 09:13:05 / 추천 0
컨트롤러 파일명을 확인해 보세요.

File not found로 나온다면 대부분의 경우 컨트롤러 파일명과 class명이 일치 하지 않은 경우이거나 대/소문자 구분이 제대로 되지 않은 경우 입니다.

CI 3.0을 사용 하신다면 컨트롤러 파일명은 대문자로 시작해야 합니다.

윈도우에서는 대/소문자를 구분하지 않으니 아무 문제가 없는데 웹서버는 리눅스라 대/소문자를 구분하면 없는 파일 취급 한다는 겁니다.

Controller.php <= 이런식으로요.
controller.php <= File not found

.htaccess는 index.php 를 없애기 위해서 사용합니다.

"호스트/index.php/controller" 로 접근 한다면 .htaccess 는 없어도 됩니다.
"호스트/controller" 로 접근 하기 위해서 .htaccess 를 사용 하는거죠.

.htaccess 는 별도의 확장자가 필요하지 않습니다.
코드10 / 2015/05/13 14:20:19 / 추천 0
한대승(불의회상) 진짜 감사합니다! 대소문자 구분 문제였네요... 윈도우에서만 하다가 리눅스는 해본 적도 없어서 몰랐어요ㅠ 정말 고맙습니다. 덕분에 문제 해결했어요! 좋은 하루되세요 한대승님 ㅎㅎ