1

url을 제외하고 .html, .css, .js, .jpg 등의 확장명을 가진 모든 파일과 일치하는 정규 표현식을 Apache에서 빌드하려고합니다. I에 유래에서 다른 항목을 읽고 단어 "NOCACHE"문자열을 무효화하는 정규 표현식 nocache가 작동하지 않음

이 있고, 나는 다음과 같은 정규식 포함

<FilesMatch "^(.*(?!nocache)\.(png|bmp|jpg|gif|html|htm|css|js|ttf|svg|woff|txt))$"> 
    ExpiresActive on 
    ExpiresDefault "now plus 1 month" 
</FilesMatch> 

문제는이 정규 표현식이 잘 작동되지 않는 것입니다를 작성했습니다. 확장명이있는 모든 파일이 캐시되지만 "nocache"라는 단어가있는 파일도 캐시됩니다.

누군가가 문제를 확인합니까? 잘못된 장소에 내다 주장을 넣어 때문에이 점 전에 배치하면

^(?!.*nocache).*\.(png|bmp|jpg|gif|html|htm|css|js|ttf|svg|woff|txt)$ 

, 그것은 앞서 그 위치에서 모양과가 보는 모든 파일 확장자입니다

답변

1

, 그 아니다 "nocache", 그래서 사실입니다.

내 표현식에서 앵커 뒤쪽에 배치되고 자체적으로 .*이 있으므로 문자열의 어느 부분 에나 "nocache"가 있으면 문자열 시작 부분부터 살펴볼 것입니다.

+0

당신의 솔루션은 완벽하게 작동합니다. 거대한. 대단히 감사합니다. – user2342974