safari中的mp4因htaccess身份验证而失败

Mat*_*yan 6 safari video html5 mp4

在开发网站上,我一直在测试mp4文件中的html5游戏.即使没有正确的MIME类型声明,本机播放器也能正常加载和播放mp4文件.但是,如果我将AuthType Basic添加到我的.htaccess中,则文件失败有时会无法播放,有时会在quicktime播放器中播放.

使用有效用户登录后,为什么此指令会阻止mp4文件正常播放?

lon*_*ngi 8

还是有同样的问题.有些人解决了它,同时将mime类型添加到他们的.htaccess文件中(对我来说不起作用):

AddType video/ogg .ogv
AddType video/mp4 .mp4
AddType video/mp4 .mov
AddType video/webm .webm
Run Code Online (Sandbox Code Playgroud)

目前我在htaccess中使用你已经提到的"添加满足所有"(参见下面的代码):

<FilesMatch mp4>
Satisfy any
order allow,deny
allow from all
</FilesMatch>
Run Code Online (Sandbox Code Playgroud)

它不是真正的解决方案,因为现在可以访问文件,如果你知道文件的直接链接......对于我的情况仍然可以,但期待一个真正有效的解决方案!


joe*_*ler 8

我怀疑这与Safari沙盒媒体播放的方式有关.看起来页面进行了身份验证,但视频文件被视为需要自己登录的完全独立的请求.第二个身份验证请求在某些配置上失败,并且传输挂起等待凭据.

我发现的唯一不太理想的解决方案是专门免除mp4文件的身份验证.将以下内容添加到站点的.htaccess文件中,无需登录即可播放mp4文件.

请记住,如果有人知道视频文件的确切路径,他们就可以在不登录的情况下查看文件.

# Exempt movies from password protection to prevent extra login prompts
<Files ~ "\.(mp4|m4v)">
    AddType video/mp4 mp4
    order allow,deny
    allow from all
    satisfy any
</Files>
Run Code Online (Sandbox Code Playgroud)

注意:代字号告诉Apache在文件名末尾匹配,而不是在主目录中.

我能够使用Safari 6.02在Lion(10.7.5)上重新创建此行为.带有Safari 6.02的Mountain Lion(10.8.2)提供了第二个验证窗口并正确播放了视频.

唯一的另一件事,我怀疑,是需要为mp4播放明确设置服务器mime-types..htaccess块的第二个规则处理这个,以防万一.