코드이그나이터 index.php없애기

얼마전부터 PHP를 공부하면서 코드이그나이터(CodeIgniter)라는 프레임워크를 사용하게 되었다.

역시 프레임워크는 편하다. 게시판 페이징처리, 이메일, 세션처리, 폼검증 등 직접 코딩을 하려면 피곤한 기능들을 편하게 사용할 수 있다.

 

 

 

 

그런데 코드이그나이터(CodeIgniter)는 한 가지 불편한 점이 있는데 바로 index.php 경로가 항상 나온다는 것이다.

예를들어, blog.junholee.me 이라는 도메인에 home 이라는 경로를 추가하면 blog.junholee.me/home 이라고 나오는 것이 아니라 blog.junholee.me/index.php/home 이라고 나온다. 즉, index.php 파일의 경로가 항상 나오기 때문에 URL이 직관적이지 않다. 그래서 코드이그나이터(CodeIgniter) 한국 커뮤니티를 찾아보니 해결책을 쉽게 찾을 수 있었다.(코드이그나이터는 한국커뮤니티가 나름 활동적이다.)

 

구체적인 방법은 아래 url을 확인해보면 알 수 있다.

일반적으로 아래 url에 나온 방법을 사용하면 대부분 해결이 된다.

http://codeigniter-kr.org/lecture/view/213/page/1/q/index.phpall

 

참고로 codeigniter 3.0 버전에서 .htaccess 파일을 추가할 때는 아래 내용을 참고해야 한다.

http://www.codeigniter.com/userguide3/general/urls.html

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]

 

그런데 나는 아무리 해도 안 되는 것이 아닌가!

(참고로 나는 웹호스팅이 아니라 AWS의 EC2 서비스에 LAMP를 설치하여 서버를 구성했다. 왜냐하면 AWS는 1년이 무료이므로..ㅋㅋㅋ 서버운영 경험을 쌓기에 좋은 듯 하다.)

그래서 구글링으로 검색을 하여 10시간 정도를 헤매다가 겨우 해결책을 찾아냈다.

위에서 언급한 페이지에서 하는대로 했는데도 index.php 을 없애는데 실패했다면 아래 내용도 확인을 해보면 된다.

 

아래 동영상을 보면 해결책을 알 수 있는데  6분 25초 정도에 해결책이 나온다.

 

 

 

 

물론 영어라서 이해하는데 어려움이 있기는 하다. 

그래서 친절하게 설명을 준비했다.

1)  httpd.conf 파일을 연다.(이 방법을 수행하는 당신이라면 아마 httpd.conf 파일쯤은 열어보고 수정도 해봤을 것이다. 왜냐하면 위에서 언급한 내용들도 이 파일에 대한 내용이기 때문이다.)

CentOS를 쓰고 있는 나의 경우  etc/httpd/httpd.conf 경로에 있는 파일이다.

 

2) 아래 이미지에 있는 부분을 찾는다. 

아마 아래 표시한 부분이 AllowOverride None 으로 되어 있을텐데 이것을 아래와 같이 

AllowOverride All로 수정해 주면 된다.

 

3) 저장내용을 저장하고 닫는다.

 

4) 아파치를 다시 시작하면 끝!!

 

 

 

 

 

엄청 간단하지 않은가?

나는 이것 때문에 10시간 정도를 삽질했는데 여러분은 이 포스팅을 보고 빠르게 해결하기 바란다.

 

 

0 Shares:
3 comments
답글 남기기

이메일 주소는 공개되지 않습니다. 필수 항목은 *(으)로 표시합니다

You May Also Like
Read More

내 리더가 회사를 떠났다.

어떤 한 사람이 있다. 그 사람을 보면서 나는 이런 생각을 했다. "저 분의 인성과 역량을 닮고 싶다. 내 아들이 커서 어른이 된다면 나의 모습보다는 저 분의 모습을 닮았으면 좋겠다." 그 분은 내가 현재 재직중인 회사의 CTO이자 나의 리더였다. 아이러니하게도 그 분과 나는 전혀 다른 성격의 소유자이고 업무 스타일도 많이 달랐다. 하지만 난 정말로 그분을 닮고 싶었다.
Read More

주니어 기획자의 성장과 커리어에 대한 조언

도메인에 대한 이해가 높으면 문제를 제대로 정의할 수 있고 문제를 제대로 정의하면 합리적인 가설을 세워서 효과적인 데이터 분석을 할 수 있다. 데이터 분석을 통해 새로운 도메인 지식이 쌓인다. 이 과정을 반복하면, 기획역량은 자연스럽게 성장한다.
2021년 회고
Read More

2021년 회고(Product Owner, 가족, 성장)

회사에는 동료와 일이 있다. 가정에는 아내와 애들, 육아업무가 있다. 그러나 그 어디에도 나는 없었다. 원래 나 본연의 내가 존재할 수 있는 시간과 장소는 없었다. 단지, 의무로서의 나만 존재했다. 언뜻 생각해보면 참 서글프기도 하지만 잘 생각해보면 꼭 그렇지도 않다. 현재 나의 상황, 역할, 가족, 일.....그 모든 것이 결국은 나를 구성한다. 원래 나 본연의 나는 처음부터 없는 것인지도 모르겠다.
Read More

PO, PM들의 존재이유를 알려주는 책, 인스파이어드

일반적으로 제품개발(Product 개발)이라고 하면 기획/디자인/개발 과정을 거쳐 Product이 완성되는 과정을 의미한다. 그런데 인스파이어드 책의 저자 마티 케이건은 제품을 발견하는 과정과 제품을 시장에 전달하는 과정도 제품개발에 속한 과정이라고 정의한다. 그런 의미로 볼 때 Product을 개발한다는 것은 영업/마케팅 조직의 비지니스 과정과 분리되어 있지 않다는 것을 의미한다.
Read More

FE 개발자와 SEO 적용하기

SEO 작업을 통해 검색결과 첫 페이지의 상위 5위 안에 드는 것이 중요하다. 이번 포스팅에서는 내가 담당하고 있는 Product의 FE 개발자와 SEO를 적용하면서 알게된 사항들을 공유하고자 한다.