
나는 Apache 2.2를 다음과 같이 사용합니다.mod_proxy일부 타사 HTTP 서버에.
헤더를 보내지 않기 때문에 Cache-Control
응답 코드 200의 경우 1일, 404의 경우 5분, 기타 응답 코드의 경우 0을 추가하고 싶습니다.
그래서 나는 다음과 같은 것을 원합니다 :
SetEnvIf HttpResponseCode "200" rc_200
SetEnvIf HttpResponseCode "404" rc_404
Header set "Cache-Control" "private, max-age=0"
Header set "Cache-Control" "public, max-age=86400" env=rc_404
Header set "Cache-Control" "public, max-age=86400" env=rc_200
답변1
내 답변이 너무 늦을 수도 있다는 것을 알고 있지만 조건, 특히 HTTP 상태 코드의 조건을 기반으로 HTTP 응답에 헤더를 설정하려는 모든 사람에게 유용할 수 있습니다.
당신은 찾을 수 있습니다여기이러한 구성의 예(예 #8):
- HTTP 상태 코드가 200인 응답에 대해 캐싱 헤더를 추가합니다.
Header append Cache-Control s-maxage=600 "expr=%{REQUEST_STATUS} == 200"
요청/응답 환경 변수를 기반으로 모든 조건을 지원하도록 확장할 수 있습니다.
이 예제는 Apache httpd v2.4에서 작동합니다. httpd v2.2에서는 작동하지 않는 것 같습니다...