2017-03-17 6 views
0

Nginx를 사용하여 정적 파일 경로를 다시 작성하여 캐시 무효화를 위해 추가 된 해시를 제거하려고합니다. 해시는 항상 10 개의 기호로되어 있습니다. 예를 들어,nginx에서 해시가없는 URL 다시 작성

/min/3rd.party.min.1234567899.js 나는이 시도했다 /min/3rd.party.min.js

이되고있다, 그러나 그것은에 실패 (작동하지 않습니다 configtest) 또한 복잡해 보입니다.

location /min/ { 
    root /opt/app/public; 
    rewrite ^.*(?<=(.))[a-z0-9]{10}[.](?=(js|css))[js|css]$ $1$3; 
} 

답변

1

나는 당신이 당신의 정규 표현식 패턴에 도착하는 방법 아무 생각이 없지만, 다음은 작동하는 것 같다 :

rewrite "^(.*)\.\w{10}\.(js|css)$" $1.$2 break; 

중괄호를 포함 모든 패턴, 따옴표로 배치해야합니다. 접미어 break을 사용하여 같은 위치에서 재 작성된 URI를 처리하십시오. 자세한 내용은 this document을, 정규 표현식의 경우 this useful resource을 참조하십시오.