GIF 因 Apache 重写而失去 MIME 类型

GIF 因 Apache 重写而失去 MIME 类型

在我进行重写时,gif 出现了丢失动画的问题。

RewriteRule ^journal/(.+)\.(jpeg|jpg|png|mp4|webm|ogv)$ app/uploads/journal/$1 [QSA,L]
RewriteRule ^journal/(.+)\.(gif)$ app/uploads/journal/$1 [QSA,L,T=image/gif]

由于某种原因,它仍然使用 image/jpeg 标头。有什么想法吗?

重写日志

答案1

问题是,当您添加第二个匹配项以捕获文件名结尾时,您忘记将该匹配项附加到重写中。第一个括号$1,您在重写端添加,但该括号不再包含.gif.jpg等,因为它们在括号外。相反,它们最终出现在 中$2

因此,尝试重写规则以

RewriteRule ^journal/(.+)\.(jpeg|jpg|png|mp4|webm|ogv)$ app/uploads/journal/$1.$2 [QSA,L]
RewriteRule ^journal/(.+)\.(gif)$ app/uploads/journal/$1.$2 [QSA,L,T=image/gif]

相关内容