2014. 8. 28. 13:40
[서버관련]
아파치도 비슷하지만, NGINX에서 PHP프레임웍을 사용하려면,
보통 아래와 같이 기술하게 된다.
if (!-e $request_filename) {
rewrite ^/(.*)$ /index.php?/$1 last;
}
# 파일이 존재하지 않으면, 프레임웍의 index.php 로 rewrite
이런경우 없는 이미지파일 호출이나 css, js 파일을 호출하더라도.
파일이 없는경우 무조건 index.php 로 가게 되니 서버의 부담이 많아진다. (악의적인호출포함?)
아래와 같이 수정
set $framework 'NO';
if (!-e $request_filename) {
set $framework 'OK';
}
if ($uri ~ '(\.css|\.js|\.ico|\.gif|\.jpg|\.png|\.swf)')
set $framework 'NO';
}
if ($framework = 'OK') {
rewrite ^/(.*)$ /index.php?/$1 last;
break;
}
위와 같이 하여 확장자가 이미지파일이거나 css/js 등일 경우 파일이 존재하지 않으면, 프레임웍을 안타게 설정한다.
확장자는 알아서 추가..ㅎㅎ