我有一个页面使用JWPlayer以各种格式选择(mp4,m4v,ogv,webm)提供视频。但是,当从Firefox(23.0.1)或PHP curl访问页面时,Apache返回一个标题,指示content-type
为text/plain
。 Firefox(以及较新的IE版本,除非在兼容模式下)不会播放视频。我尝试在mime.types
,httpd.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会下载视频,并允许在桌面播放器中正常播放。
答案 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中做。