질문 Q #11348
index.php 죽이기와 htaccess
팔랑 2014-05-13 03:59:08
ci를 위해 htaccess 를 쓸 때
 

    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]


보통 이렇게 많이 쓰지 않습니까?
그런데 궁금한 점이 생겼어요
강좌 게시판에 보니까 http://www.codeigniter-kr.org/lecture/view/213/page/1 
한대승 님께서
 RewriteCond %{REQUEST_FILENAME} !-f
 RewriteCond %{REQUEST_FILENAME} !-d

이 부분을 설명해주시기를
파일/디렉토리가 있으면 아파치가 처리한다고 하셨는데요
그럼, 
RewriteCond $1 !^(index\.php|images|captcha|data|include|uploads|robots\.txt)
이 부분은 굳이 안써도 되지 않을까요?
실제 파일이 있으면 RewriteRule 을 안먹을테니까요...

지정한 파일/디렉을 제외하고 설사 파일이 존재한다하더라도... (뭐 txt 파일이나, sql 빽업파일이라던가... 그런거)
직접 접근할 수 없도록 하려면 (ci에서 처리되도록) 
어떻게 해야할까요?

답변 2
#1 변종원(웅파) 2014-05-13 10:40:04
빼고 해보시면 될텐데요? ^^

http://www.codeigniter-kr.org/qna/view/11301/page/1/q/RewriteCond 참고하세요. 
#2 슘님 2014-05-13 11:41:17
저는
RewriteCond %{REQUEST_FILENAME} !-d
를 사용하지 않고

RewriteCond $1 !^(index\.php|images|captcha|data|include|uploads|robots\.txt)
만 사용합니다.