Apache忽略了mime-type

时间:2013-08-21 20:14:29

标签: apache video mime-types jwplayer

我有一个页面使用JWPlayer以各种格式选择(mp4,m4v,ogv,webm)提供视频。但是,当从Firefox(23.0.1)或PHP curl访问页面时,Apache返回一个标题,指示content-typetext/plain。 Firefox(以及较新的IE版本,除非在兼容模式下)不会播放视频。我尝试在mime.typeshttpd.conf和目录中的.htaccess文件中添加mime类型。

mime.types

video/mp4   mp4 m4v
video/ogg   ogv
video/webm  webm

httpd.conf

AddType video/mp4 mp4 m4v
AddType video/ogg ogv
AddType video/webm webm

.htaccess

AddType video/mp4 mp4 m4v
AddType video/ogg ogv
AddType video/webm webm

我尝试过在扩展名前面有点和没有点(据我所知应该以任何方式工作)。我重新启动了Apache。我已经验证我正在编辑正确的配置文件。 Apache仍继续返回text/plain类型。我哪里出错?

更新:根据FilesMatch,虚拟主机和ForceType中的rekire建议尝试httpd.conf.htaccess指令。在中间人缓存的情况下尝试重命名文件和更改链接以匹配。直接访问URL会下载视频,并允许在桌面播放器中正常播放。

2 个答案:

答案 0 :(得分:5)

official documentation for AddType mod_mime中列出了带有前导点的文件扩展名,请尝试以下操作:

AddType video/mp4 .mp4 .m4v
AddType video/ogg .ogv
AddType video/webm .webm

或者与ForceType一起试用FilesMatch

<FilesMatch "\.(mp4|m4v)$">
    ForceType video/mp4
</FilesMatch>

答案 1 :(得分:4)

两年后回答我自己的问题。事实证明这是一个问题,这个问题无法通过我在问题中提供的信息来确定,而且是一个相对简单的问题。有一个.htaccess文件将所有请求(现有资源文件或非现有资源文件)路由到PHP文件,该文件随后处理所有文件请求,包括返回MIME类型,有效地绕过了我正在尝试的所有处理在Apache中做。