apache - 根据名称而不是扩展名添加 mime 类型
问题描述
我想知道是否可以让 Apache 2.4 有效地将 mime 类型添加到文件而不使用文件扩展名。
我的用例是在 Apache 虚拟主机中提供服务的 Plone 服务器。这个 Plone 应用程序有一个包含元数据值的搜索索引getThumbnailPath
;显示搜索结果时,我会直接使用这个值。
有时,缩略图是从对象计算出来的(如果它包含图像信息;通常会产生JPG
图像),有时(并且作为后备),它只是基于它的类型(通常是PNG
-type 象形图)。此计算不是在搜索结果显示期间而是在修改对象并更新目录元数据之前进行的。
现在我想要这些缩略图有两种或更多尺寸(全部为 4:3 宽高比):
- 漂亮的概览页面的一种尺寸(我已经有了;
240x180
) - 一般搜索结果的尺寸较小( ; 我网站中每个可搜索对象
120x90
所需的唯一尺寸) - 一到两个稍大的尺寸用于轮播(仅适用于每种类型的最新 N 个对象)
当然,这些缩略图之间应该没有任何区别(除了大小);这个想法是能够通过简单地添加后缀来在这些大小之间进行选择-120
,-240
等等。我想避免每个对象需要多个getThumbnailPath
元数据值。
我也希望在显示期间尽可能少地进行计算。当然,在搜索结果显示期间简单地附加-120
到每个主题并在“漂亮的概述页面”中使用是可以的,但我认为拆分文件名并为每个找到的主题注入大小信息的计算工作量太大。我的显示模板应该尽可能简单。<img src>
-240
那么,我有哪些选择?
- 我可以使用一些基于名称的过滤器(如果 Apache 支持);
picto-.*
当前在某个位置匹配的所有文件共享image/png
类型 - 我可以让 apache 根据文件内容来决定类型。(最慢的解决方案,对吧?)
- 我可以为 Apache 定义一些额外的扩展来识别,例如
AddType image/png .png-120 .png-240
和AddType image/jpeg .jpg-120 .jpg-240
- 我可以让 Apache 服务
application/octed-stream
(就像它目前所做的那样)并让用户代理检测图像类型。
您更喜欢哪个解决方案,哪个表现最好?
(Apache 2.4,CentOS 7)
解决方案
推荐阅读
- user-interface - 带有图标的 ionic UI 迷你固定侧边栏
- numpy - For循环在np 3d数组上获得总和和平均值
- python - 如何使用 Discord 机器人更改 Discord 服务器的通知设置?
- excel - Excel - 如何手动计算每秒工作表?
- python - 如何在 Python 中修复我的字符串整数问题
- r - 过滤器和左连接
- javascript - 在`setState`回调中执行时,增量变得混乱
- android - 直接访问时 MutableLiveData 值错误
- python - Scrapy bot在没有任何上下文的情况下在给定域之外爬行网站
- symfony - 在空 Symfony 上调用成员函数 persist()