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