2017-09-18 4 views
0

에 내가 추가를 위해이 코드를 사용하지 않을 경우 정적 파일에 만료 :Nginx의 규칙은 - 디렉토리

location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ { 
expires 30d; 
add_header Pragma public; 
add_header Cache-Control “public”; 
log_not_found off; 
} 

나는 virutual 디렉토리/이미지 /에 어떤 임의의 이미지를 가지고있다. 위의 코드가 Nginx에있을 때 임의의 이미지는 404를 얻습니다.

/image/디렉토리에는 만료가 필요 없습니다. 이 디렉토리의 경우 코드가 실행되지 않아야합니다.

If not /image/ 
{ 

    location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ 
    { 
    expires 30d; 
    add_header Pragma public; 
    add_header Cache-Control “public”; 
    log_not_found off; 
    } 

} 
+0

이미지는 여전히이 디렉토리에서 제공해야보십시오 : 어떻게 Nginx의 언어로 다음처럼 작성할 수 있습니까? –

+0

아니오, nginx가 거기에서 이미지를 제공 할 필요는 없습니다. 만료 코드가 실행될 때 가장 좋으며,/image/폴더가 아닌 경우입니다. – labu77

답변

0

이이

location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ 
{ 
    if ($request_uri !~ ^/image/.*) { 
     expires 30d; 
    } 
    add_header Pragma public; 
    add_header Cache-Control "public"; 
    log_not_found off; 
} 
+0

들어 주셔서 감사합니다. 오류가 발생합니다 : 오류 nginx-Konfiguration : nginx : [emerg] 위치 "/ image /"가 – labu77

+0

@ labu77 외부에 있습니다. 업데이트 된 답변을 확인하십시오. –