[CodeIgniter] 주소에서 index.php 없애기


코드 이그나이터를 사용해서 php 에 입문(?) 해보려고 합니다.

우선 설치하고 이것저것 세팅하고 유저가이드를 따라 해보고 있는 중이에요.


주소 칠때마다 index.php 를 껴넣어야 하니 여간귀찮은게 아니더라구요.

여기저기에 index.php 를 없애는(?) 방법에 대한 예가 많아서 따라해봅니다.


순서는 간단하게 3단계입니다. (물론 서버설정에 따라 몇단계가 더 들어갈 수 있습니다.)


1. httpd.conf 수정

2. CodeIgniter/application/config/config.php 수정

3. CodeIgniter/.htaccess 설정




 1. httpd.conf 


첫번째로 httpd.conf 파일을 수정해 주어야합니다.

(제 경우엔 경로가 /etc/httpd/conf/httpd.conf 네요.)



mod_rewrite.so 를 찾아서 #을 제거해 주석을 없애줍니다. (전 예전에 주석을 없애 두었었네요.)

#LoadModule rewrite_module modules/mod_rewrite.so


그리고 해당 서버의 디렉토리 설정되 있는 부분으로 갑니다.

아래의 AllowOverride 부분의 설정을 None 에서 All 로 바꾸어줍니다.

.htaccess 파일을 사용하려면 이부분이 All 로 설정되어있어야 된다고 하네요.

(자세한 내용은 아파치 투토리얼을 참고해보아요~)

AllowOverride None

AllowOverride All


이제 파일을 저장하고 서버를 리스타트 해줍니다.




 2. config.php


config.php 파일은 CodeIgniter 경로의 application/config/ 에 있습니다.

index_page 를 찾아서 값을 빈문자열로 바꾸어줍니다.

//$config['index_page'] = 'index.php';

$config['index_page'] = '';



 3. .htaccess


직접 만든적이 없다면, 아마 이 파일은 없을겁니다. CodeIgniter/ 위치에 파일을 생성해줍니다.

파일을 생성하고 아래의 내용을 넣어줍니다.

<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>

뭐.... 여러가지 의미가 있는 코드들인데...

간단하게는... index.php 를 없애는 기준을 정한다고 해야할까요.. 어떤때는 없애면서 있다고 가정하고, 어떨때는 그냥 없다고 생각해야하고... 그런 코드..





자세한 내용이 궁금하시면.. 원본글인.. 

http://www.codeigniter-kr.org/lecture/view/213/page/1 여기를 참고해주세요 ^^;






'Web Server > PHP' 카테고리의 다른 글

[CodeIgniter] Get 방식 Query String  (0) 2013.03.08
[CodeIgniter] 주소에서 index.php 없애기  (0) 2013.03.07
Posted by croute

댓글을 달아 주세요