4

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

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在、虚拟主机FilesMatch和. 在中间人缓存的情况下尝试重命名文件并更改链接以匹配。直接转到 URL 下载视频并允许在桌面播放器中正常播放。ForceTypehttpd.conf.htaccess

4

2 回答 2

5

在of的官方文档中AddTypemod_mime列出了带有前导点的文件扩展名,所以试试这个:

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

ForceType或一起尝试FilesMatch

<FilesMatch "\.(mp4|m4v)$">
    ForceType video/mp4
</FilesMatch>
于 2013-08-21T20:21:11.093 回答
4

2年后回答我自己的问题。原来是我在问题中给出的信息无法确定的问题,而且是一个比较简单的问题。有一个.htaccess文件将所有请求(无论是否存在资源文件)路由到 PHP 文件,然后该文件本身处理所有文件请求,包括返回 MIME 类型,有效地绕过了我在 Apache 中尝试执行的所有处理。

于 2015-10-28T15:09:49.517 回答