在 htaccess 中匹配内容类型

Matching on content-type in htaccess

我知道我可以像这样使用 FilesMatch "\.html$"

<FilesMatch "\.html$">
    Header set Pragma "public"
    Header set Cache-Control "public, must-revalidate, proxy-revalidate"
</FilesMatch>

但是,如果 html 作为 SEO 友好 URL(就像 wordpress 那样)交付,这将无济于事,对吗?

我有办法匹配内容类型等于 text/html?

如果您使用的是 Apache 2.4.10 或更高版本,您可以使用 expr= as

Header set Pragma "public" "expr=%{CONTENT_TYPE} =~ m#text/html#"
Header set Cache-Control "public, must-revalidate, proxy-revalidate" "expr=%{CONTENT_TYPE} =~ m#text/html#"

请参阅 mod_headers and expr 上的文档和示例。