我可以使用正则expression式或通配符来设置Apache的AddType指令吗?

我pipe理一个内部的Apache2系统,使HTTP浏览和下载连接的文件系统。 我无法控制团队上传的内容的文件,文件types或文件名。

我可以在浏览器中呈现任何可能的东西。 文本,图像,XML等所有工作正常,因为我在httpd.conf的AddType指令中分配一个明确的MIMEtypes。 但是其中一些内容是以编程方式生成的,并没有我可以预测的扩展名,例如:file.name.text_1234。 这些文件总是文本/纯文本,但是我不能添加10k条目AddType .text_NNNN条目到http.conf或/etc/mime.types,而不能分配该内容types。 即使我这样做,我也许会遇到像.text_123456789或.text_abc123def456等扩展,所以明确的条目是不实际的。

有没有什么办法通过通配符或正则expression式分配AddType,甚至强制任何不是设置为内容types的文本/纯文本?

我已经尝试使用像DefaultType,ForceType,FilesMatch,文件和位置相关的指令全球覆盖或匹配一些条件,将分配此types,但没有任何工作。 我尽快补充:

AddType text/plain .blabla_123456 

..然后some.file.name.blabla_123456呈现完美后,重新启动Apache。

我认为模块mod_mime_magic可能是你在找什么。 它会查看文件的内容,并猜测应该是什么MIMEtypes。 几乎所有的文本文件都应该是正确的。

获得正则expression式支持的两种方法 – 可以在LocationMatch中使用ForceType,或者可以在mod_rewrite中使用T =标志。