Jon*_*ton 12 apache mime mime-types
我已经在RedHat 6.4服务器上从Apache 2.2升级到2.4,并遇到了mime类型的问题.
Apache有一个DefaultType指令.在Apache 2.2中,我将其设置为"text/plain".我有一个网页,列出给定目录中的所有文件,用户可以单击查看文件.此目录包含所有类型的不同文件扩展名和一些没有扩展名的文件.单击文件时,它将在一个格式良好的新窗口中打开.没有任何代码这样做.严格来说,浏览器打开文件并根据其内容类型决定要做什么.
该指令已在Apache 2.4中禁用.Apache文档网站指示用户使用mime.types配置文件和AddType指令来配置媒体类型.
我的问题是如何将"text/plain"mime类型分配给没有扩展名的文件?在Apache 2.2中,默认情况下,这些文件将通过DefaultType指令赋予"text/plain"内容类型.在Apache 2.4中我无法弄清楚如何执行此操作,因为我不能再使用此指令了.我不想使用ForceType指令,因为它会覆盖其他已经定义的mime类型.
我可以创建一个加载文件并分配内容类型的php包装器,但我更喜欢将逻辑保存在所有其他mime类型定义所在的apache中.
任何帮助,将不胜感激.如果需要其他信息,请告诉我.
此解决方案仅影响无扩展,静态服务的文件:(信用Eugene Kerner)
<FilesMatch "^[^.]+$">
ForceType text/plain
</FilesMatch>
Run Code Online (Sandbox Code Playgroud)
这个会影响任何在没有Content-Type
标题的情况下传输的响应.换句话说,它模仿旧DefaultType
指令的行为:
Header set Content-Type "text/plain" "expr=-z %{CONTENT_TYPE}"
Run Code Online (Sandbox Code Playgroud)
应该可以setifempty
在这里使用而不是-z
表达式.但它失败并覆盖每个响应中的标题,空或不.我不知道为什么. Eric Covener说这是因为Content-Type
标题没有添加到"最后一秒".
归档时间: |
|
查看次数: |
5416 次 |
最近记录: |