Apache忽略mime类型
我有一个页面使用JWPlayer以多种格式选择(mp4、m4v、ogv、webm)为视频提供服务。但是,当从Firefox(23.0.1)或使用PHP curl访问页面时,Apache会返回一个标题,指示Apache忽略mime类型,apache,video,mime-types,jwplayer,Apache,Video,Mime Types,Jwplayer,我有一个页面使用JWPlayer以多种格式选择(mp4、m4v、ogv、webm)为视频提供服务。但是,当从Firefox(23.0.1)或使用PHP curl访问页面时,Apache会返回一个标题,指示内容类型为text/plain。Firefox(以及更新的IE版本,除非处于兼容模式)将不会播放视频。我已尝试在mime.types、httpd.conf和目录中的.htaccess文件中添加mime类型 mime.types video/mp4 mp4 m4v video/ogg og
内容类型
为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
类型。我哪里出错了
更新:按照rekire在
httpd.conf
、virtualhost和htaccess
中的建议,尝试了FilesMatch
和ForceType
指令。尝试重命名文件并更改链接以匹配中间人缓存。直接转到URL下载视频并允许在桌面播放器中正常播放。中的文件扩展名以前导点列出,请尝试以下操作:
AddType video/mp4 .mp4 .m4v
AddType video/ogg .ogv
AddType video/webm .webm
或者与以下人员一起尝试:
ForceType视频/mp4
两年多后,回答我自己的问题。从我在问题中提供的信息来看,这是一个无法确定的问题,也是一个相对简单的问题。有一个.htaccess
文件,它将所有请求(无论是否存在资源文件)路由到一个PHP文件,然后PHP文件自己处理所有文件请求,包括返回MIME类型,有效地绕过了我在Apache中试图做的所有处理。我以前尝试过这个方法,但在你建议后我又试了一次,结果是一样的。我还完全清除了Firefox中的缓存,以确保没有缓存头。请尝试使用ForceType
命令和文件指令,我将添加此项。我已将此项添加到我的答案中。顺便说一下,如果您编辑服务器配置,请不要忘记重新启动apache服务器。(.htaccess文件不计算在内)在httpd.conf
和.htaccess
中尝试FilesMatch
与ForceType
匹配,结果相同尝试重命名视频和更新链接以消除ISP或路由器缓存干扰的可能性-仍然text/plain
我已经离开了这项工作(whew!),但是我相信通过PHP处理这些文件有一些(可能是误导性的)原因。我想在这里留下这个问题和答案,以防其他人遇到同样的问题。检查并三次检查您的.htaccess
文件!请记住,可以有多个.htaccess
文件影响同一请求。通过PHP传递文件服务的通常原因是协调访问控制。
<FilesMatch "\.(mp4|m4v)$">
ForceType video/mp4
</FilesMatch>