철스토리

CodeIgnighter 에서 index.php 제거하기 본문

서버설정/우분투 서버설정

CodeIgnighter 에서 index.php 제거하기

HyunChol 2016. 9. 18. 23:51
반응형

출처 : http://www.codeigniter-kr.org/bbs/view/lecture?idx=7073


아무리 하란대로 해도 안되서 다른 방법을 찾았음...


1. rewrite 주석제거 (없을 수 있음)

 : $sudo vi /etc/apache2/mods-available/rewrite.load


#LoadModule rewrite_module /usr/lib/apache2/modules/mod_rewrite.so

2. .htaccess 파일을 사용하기 위해 AllowOverride 옵션 All로 변경

 : $sudo vi /etc/apache2/apache2.conf

 : ci가 설치되어 있는 디렉토리(/var/www 일경우) AllowOverride 설정 변경


#AllowOverride None     #주석처리 했음
AllowOverride All


3. Codeigniter의 config.php 파일에서 index_page 제거하기

 : $vi /var/www/ci/application/config/config.php


#$config['index_page'] = 'index.php';      #주석처리 했음
$config['index_page'] = '';

4. index.php와 같은 디렉토리에 .htaccess 파일 설정 (없으면 만들기)

 : $vi /var/www/ci/.htaccess


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


위와 같이 했는데.... 내 경우에는 안되서 무슨일인가.........................


* 해결방법

참조 : http://stackoverflow.com/questions/3131236/how-do-you-enable-mod-rewrite

1. phpinfo를 통해서 mod_rewrite 모듈이 활성화 되었는지 확인하기

 : $vi /var/www/ci/info.php


<?php
    phpinfo();
?>


2. 주소창에서 phpinfo 확인하기

 : http://localhost/info.php


3. 검색을 통해서 mod_rewrite가 있는지 확인

 : 없으면 다음을 실행


4. mod_rewrite 활성화 시키기

 : a2enmod rewrite


5. 아파치 재기동

 : service apache2 restart


6. 끝!


됐다!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

반응형
Comments