GridController에서 이미지를 가져 오는 CodeIgniter에 동적 콘텐트 컨트롤러가 있습니다. 서버가 nginx를 실행 중이고 7 일 동안이 동적 컨텐트 컨트롤러가 제공하는 이미지를 캐시하기 위해 내 nginx 구성에서 캐시 제어 헤더를 설정하려고합니다. 내 설정을 올바르게 내 nginx 구성 설정되어 있지만 파일이 실제로 서버에 존재하지 않기 때문에 nginx 404 헤더를 가져 오는 중입니다. 다음과 같이Mongo GridFS에서 Nginx를 통해 404 오류없이 동적 컨텐츠 제공
내 캐시 제어 지시문은 다음과 같습니다
location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ {
expires 7d;
log_not_found off;
}
log_not_found는 404 오류 로깅에서의 nginx를 유지하는 데 도움이되지만 브라우저로 전송하는 헤더는 여전히 404 오류입니다. 나는 PHP의 "헤더"기능을 통해 헤더를 수동으로 설정하려했지만 nginx가 php-fpm을 사용하기 때문에 이상한 일을하고있었습니다.
캐시 조절 헤더를이 상황에 맞게 올바르게 설정하는 방법에 대해 올바른 지침을 알려줄 수 있습니까? 모두에게 감사 =)
업데이트 :
은 내가 내 모든 정적 파일을위한 특별한 위치와 내 동적 컨트롤러와 내 nginx를 conf의 변경.location ~ ^/(dres|js|css|art)/ {
access_log off;
expires 7d;
add_header Cache-Control public;
try_files $uri $uri/ /index.php?$args;
}
Nginx에 올바른 정적 파일에 헤더를 만료 설정하는 것입니다,하지만 난 내 인생의이 동적으로 출력 이미지 헤더를 만료 FastCGI를 출력에 nginx를 얻을 수 없습니다. php 파일을 제공 할 때 만료 헤더를 허용하기 위해 fastcgi 설정에서 뭔가를 놓치고 있어야합니다.
내 동적 콘텐츠에 대한 URI는 다음과 같은 형식으로되어 있습니다 사이트의 파일입니다. 존재하지 않는 파일의 확장자를 일치시키는 대신 해당 지시문을 색인에 다시 작성하기 전에 컨트롤러의 경로로 변경하면 404 오류가 발생하지 않을까요? – user1106959
여기 내 전체 conf : http://pastebin.com/sJ1vrkwF 예, 그게 아무것도 비 정적은 PHP를 통해 실행됩니다. 도와 주셔서 감사합니다 =) – user1106959