我在 .htaccess 中有一个重写规则
RewriteRule (.+?\.fid)/ /$1 [L]
请求 URI 如下:/123.fid/myfile.webm
如何强制 mime 类型:video/webm
使用 .htaccess 包括上述规则?
我已经尝试过在 .htaccess 文件的顶部添加但没有成功:
AddType video/webm .webm
和
<FilesMatch "\.webm$">
ForceType video/webm
</FilesMatch>
我使用 apaches mime_magic 模块来查找 .fid 文件的 mime 类型,但这不适用于 webm 文件。我假设它是导致文件类型问题的 RewriteRule,我需要以某种方式在请求 uri 中查找 webm。
如果我这样做:AddType video/webm .fid
发送正确的 mime 类型 - 但这会破坏存储在 .fid 中的任何其他文件格式。使用 .fid 是设计要求,不能更改。
*编辑:
我也尝试过:
RewriteCond %{REQUEST_URI} \.webm$
RewriteRule .* - [T=video/webm]
和
RewriteRule \.webm$ - [T=video/webm]
结果相同。提供的 mime 类型是text/plain
. 这可能是 mime_magic 模块干扰吗?
我还试图补充:DefaultType video/webm
哪个有效。这是目前最接近解决方案的方法,因为 mime_magic 模块似乎找到了要发送的正确 mime 类型,但我认为这不是一个特别优雅的解决方案
*Edit2:AddType video/webm .fid
正在工作 - 我如何根据请求 uri 有条件地执行 AddType?