AllowOverride 설정을 켜고서 쓰는 .htaccess 파일은 굉장히 편리하죠..
서버를 리스타트 안시켜도 이런 저런 설정을 쉽게 바꿀 수 있고
경로별로 설정을 다르게 할 수도 있고...
그러나 그만큼의 댓가를 지불해야 합니다.
어떤 path에 접근하든 그 중간에 있는 모든 경로상에서 htaccess 파일이
존재하는지 아닌지를 항상 새로 검사하니까요.
/a/b/c/d.gif 이런 경로에 접근할 경우
/.htacess
/a/.htacess
/a/b/.htacess
/a/b/c/.htacess
이런 파일들이 존재하는지 검사하게 위해 4번 삽질을 더 한다는거니...
무시무시하지 않을 수 없습니다.
AllowOverride 옵션을 키면 이런 저런 벤치마크를 종합해서 볼때
아파치 성능은 거의 절반으로 떨어진다고 봐야하겠더군요.
하지만 그렇다고 안쓰기도 좀 뭣하단 말이죠..
그래서 생각해본건데.. htaccess 파일 안에서 AllowOverride 설정을
바꾸지 못할 이유가 없잖습니까?
그럼 AllowOverride 옵션을 키고서 또 필요없는 경로상에서는
일찌감치 꺼두면 어떨까 하는 생각이 들더군요.
그러니까
/a/b/c/d.gif 이런 경로가 있을때
/a/.htaccess 여기에서 AllowOverride를 none으로 다시 바꾸는겁니다.
그럼
/a/b/.htacess
/a/b/c/.htacess
이걸 찾는 삽질은 더이상 안할거 아니겠습니까? 삽질이 반으로 주는거죠...
자 그래서 실험을 해봤습니다...
결과가 궁금하신가요? 흐흐흐.... 아래에서 공개합니다.
하하하 대실패했습니다~
.htaccess 안에서 AllowOverride none을 해봤더니
그 아래 경로가 먹통이 되어 버리네요. 뭔짓을 하던 전부 500 서버 에러가 뜹니다.
나름 괜찮은 생각같은데... 아파치가 지원을 안해주네요. 해주면 좋겠는데 말이죠.