개발 Q&A

제목 초보자 질문 드립니다. controller부분에서 index.php 제거하는 방법이 있나요?
카테고리 PHP
글쓴이 bsc0227 작성시각 2018/02/12 20:46:29
댓글 : 6 추천 : 0 스크랩 : 0 조회수 : 14705   RSS

안녕하세요.

현재 코드이그나이터를 공부하고있는 학생입니다.

웅파님의 글을 참고로 index.php를 제거하는 작업을 진행중입니다.

현재 localhost에 접속하는데 index.php를 제거한 부분은 성공했습니다만,

그 이후로 다른 컨트롤러를 통해 다른 뷰를 보여줄때에는 url상에 index.php를 붙여주지않으면 404가 뜹니다..

 

제가 이해하기로는 index.php를 제거했을경우

예를들면

Main.php라는 컨트롤러의 get_login 함수를 불러와서 뷰를 보여준다하면

localhost/main/get_login <-- 이렇게 하면 될것같거든요..

근데 이게 안들어가집니다.

컨트롤러의 index 함수의 뷰만 보여주고 나머지 함수들의 뷰는 보여주지 못합니다.. 

무엇이 문제인지 한번 봐주실 수 있으신가요??

 

<.htaccess>

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond $1 !^(index\.php|images|captcha|data|include|main|Main|controllers|uploads|robots\.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php/$1 [L]
</IfModule>

 

현재 Main.php라는 파일명의 컨트롤러를 사용하여 테스트중입니다.

application/config/routes.php 의 맨 하단에 아래의 코드를 입력했습니다.

$route['default_controller'] = 'Main';
$route['404_override'] = 'errors/notfound';
$route['translate_uri_dashes'] = FALSE;

조언 부탁드립니다.

감사합니다.

태그 index.php
 다음글 글작성 시 알림에 대한 의견 부탁합니다. (6)
 이전글 웹에서 hwp(한글)을 수정하고 싶습니다. (2)

댓글

kaido / 2018/02/12 22:50:59 / 추천 0

apache 설정에 rewrite mod 설정이 안잡혀 있는것 같습니다.

main 컨트롤러만 라우터의 영향으로 마치 index.php 가 죽은것 처럼 보인것이고, 실제로는 제대로 적용 안된것으로 보여집니다.

포럼 검색 하시면 관련 글이 많이 있습니다.

변종원(웅파) / 2018/02/13 09:44:18 / 추천 0

http://localhost/index.php/main/get_login   이 주소로 접속이 되면 kaido님 말씀처럼 아파치에서 mod_rewrite 모듈이 활성화되지 않은 겁니다.

그리고 .htaccess 3번째 줄에서 실제 존재하지 않는 디렉토리는 지우세요. 나중에 문제가 될 수도 있습니다.

bsc0227 / 2018/02/13 10:10:17 / 추천 0

안녕하세요 kaido님! 조언 주셔서 감사합니다.

일단 httpd.conf의 설정 중 rewrite mod 설정을 이렇게 했습니다.

...
#LoadModule reqtimeout_module modules/mod_reqtimeout.so
LoadModule rewrite_module modules/mod_rewrite.so
#LoadModule sed_module modules/mod_sed.so
#LoadModule session_module modules/mod_session.so
...

다른 글들도 더 참고해보도록 하겠습니다 ㅠㅠ..

bsc0227 / 2018/02/13 10:11:38 / 추천 0

안녕하세요 웅파님! 조언 감사드립니다.

웅파님께서 올려주신 글을 보면서 많이 배웠습니다 감사합니다!

일단 rewrite mod 모듈 설정을 활성화 하긴 했습니다만.. 무엇이 문제인지 잘 모르겠습니다..ㅠㅠ

다시한번 글을 정독해보겠습니다.

그리고 조언주신대로 .htaccess에 실제 존재하지않는 디렉토리는 지우도록 하겠습니다. 감사합니다!

kaido / 2018/02/13 10:43:41 / 추천 0

https://www.youtube.com/edit?o=U&video_id=yiTNgzBvN8A

 

참고해 보세요~ 

index.php 죽이기와 hmvc사용 방법에 대해서 설명하는 영상입니다.

bsc0227 / 2018/02/13 10:45:55 / 추천 0

안녕하세요 kaido님. 조언 감사드립니다.

첨부해주신 동영상 감사합니다! 동영상보고 해결해보겠습니다!