2011-04-13 5 views
1

거기에 일치하는 URL은 지정된 이름으로 시작하지 않습니까?

웹 사이트가 있는데, 다음과 같은 많은 URL이 포함되어 있습니다.

/public 
/public/images/... 
/questions/... 
/answers/... 
... 

`/public/.* '를 제외한 모든 URL에 cache 헤더를 추가하고 싶습니다. 하지만이 정규식을 작성하는 방법을 모르겠습니다.

시도 :

^(?<!\Q/public/E)/.* 

하지만 작동하지 않습니다.

답변

1

.htaccess under apache? 시도 :

<LocationMatch "^(?!/public/)[^\.]+$"> 
    Header set Cache-Control max-age=7200 
</LocationMatch> 
+0

감사합니다. 왜'.'은 뒷부분에서 허용되지 않는가? – Freewind

+0

@freewind 사용중인 구문, 특히 \ Q 또는 사용하고있는 "<"문자에 익숙하지 않아 정규 표현식이 작동하지 않는 이유를 알 수 없습니다. - 죄송합니다. – magma

+0

정규식에서'^ (?!/public /)[^\.]+$'을 제공하면 왜'\ .'가 허용되지 않습니까? '[^ \.]부터 – Freewind

관련 문제