코드이그나이터는.. localhost/index.php/welcome 이런식으로 url이 나온다.
여기서 index.php 를 없애는 방법에 대해 알아보자.
<윈도우 환경에서>
application - config - config.php 파일 수정
//$config['base_url'] = '';
$config['base_url'] = ((isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == "on") ? "https" : "http");
$config['base_url'] .= "://" . $_SERVER['HTTP_HOST'];
$config['base_url'] .= str_replace(basename($_SERVER['SCRIPT_NAME']), "", $_SERVER['SCRIPT_NAME']);
출처: http://nahosung.tistory.com/23 [nahos]
이처럼 index_page 에 있는 index.php 를 지우고 and ! .htaccess 파일을 수정해 주면 된다.
내가 필요한건 리눅스 버전에서의 index.php를 없애는거여서
여기에서 + apache 의 모듈중 하나인 mod_rewrite를 이용해야한다.
<리눅스 os에서의 index.php 없애기>
1. apache conf인 httpd.conf 파일에서 mod_rewrite 로 검색을 하면 통상적으로
1
|
#LoadModule rewrite_module modules/mod_rewrite.so |
라는 라인이 나옵니다. 주석처리가 되어 있을 수 있구요. 일단 주석처리가 되어 있다면 주석(#)을 제거하시구요.
위 라인이 없다면 mod_rewrite 모듈을 설치하셔야 하는데 (요즘 apm 셋팅에는 거의 포함되어 있습니다.)
설치법도 검색으로... ^^; codeigniter에서의 사용법이 주 인지라...
그리고 또 한가지 대부분의 분들이 놓쳐서 헤매는 부분인데 .htaccess 파일을 사용하려면 서버 디렉토리의
AllowOverride 옵션을 All로 설정을 하셔야 합니다. 기본값은 None입니다.
이 셋팅을 바꾸지 않으면 죽어도 index.php 를 없앨 수 없습니다.
1
|
AllowOverride None -> AllowOverride All |
설정을 저장하고 아파치 서버를 재시작 합니다.
이제 mod_rewirte 모듈을 이용하여 .htaccess 파일을 쓸 수 있게 되었습니다.
...라고하였는데나는왜............ httpd.conf를 못찾겠느뇽....
없어.. .없어... 없어!!!! ㅠㅠㅠ 다른데 가서 질문해봐야겠다... 하...
'공부 > PHP' 카테고리의 다른 글
페이스북 php 로그인 하나의 파일로 구현 (0) | 2018.01.17 |
---|---|
[오늘의 issue] getSessionFromRedirect return Null ! (0) | 2018.01.17 |
PHP에서 curl 설치 & 확장 (0) | 2018.01.11 |
php str_replace 문자변환 함수(쌍따옴표 변환 및 제거, 공백제거 등) (0) | 2018.01.04 |
CodeIgniter 내장 라이브러리 공부 (0) | 2017.12.29 |
댓글