아파치 2.4에서는 다음과 같은 것을 시도 할 수 있습니다.
FileETag None
<IfModule mod_headers.c>
Header always unset ETag "expr=%{REQUEST_STATUS} == 404"
Header always set Cache-Control "max-age=0, no-cache, no-store, must-revalidate" "expr=%{REQUEST_STATUS} == 404"
Header always set Pragma "no-cache" "expr=%{REQUEST_STATUS} == 404"
Header always set Expires "Wed, 11 Jan 1984 05:00:00 GMT" "expr=%{REQUEST_STATUS} == 404"
</IfModule>
은 always
이것이이기 때문에 중요하다 :
리디렉션과 같이 로컬로 생성 된 성공하지 않은 (2xx가 아닌) 응답에 헤더를 추가하는 경우 항상 해당하는 테이블 만 최종 응답에 사용됩니다.
당신은 모든 404을 말했지만, 물론 전체 참조는 의미가에 그것을 포장 할 수 <FilesMatch>
또는 <LocationMatch>
범위를 제한 할 수 있습니다.
expr
조건부 를 사용 하는 것이 mod_headers 문서의 2.2 버전이 아니기 때문에 이것이 아파치 2.4의 새로운 기능이라고 생각합니다 .
curl -I [foo]
이 구성없이 테스트하십시오.
HTTP/1.1 404 Not Found
Date: Thu, 24 May 2018 17:44:29 GMT
Server: Apache/2.4.18 (Ubuntu)
Content-Type: text/html; charset=iso-8859-1
curl -I [foo]
이 구성으로 테스트하십시오.
HTTP/1.1 404 Not Found
Date: Thu, 24 May 2018 17:44:42 GMT
Server: Apache/2.4.18 (Ubuntu)
Cache-Control: max-age=0, no-cache, no-store, must-revalidate
Pragma: no-cache
Expires: Wed, 11 Jan 1984 05:00:00 GMT
Content-Type: text/html; charset=iso-8859-1
출처 :
http://httpd.apache.org/docs/current/mod/mod_headers.html