如何解决Safari中的mp4不能通过htaccess身份验证
| 在开发站点上,我一直在测试Safari浏览器中mp5播放的mp4文件。即使没有正确的MIME类型声明,本机播放器也可以很好地加载和播放mp4文件。但是,如果我将AuthType Basic添加到我的.htaccess文件中,则文件有时无法播放,有时无法在quicktime播放器中播放。 使用有效用户登录后,为什么此指令会阻止mp4文件正确播放?解决方法
仍然有同样的问题。有些人解决了这个问题,同时将哑剧类型添加到他们的.htaccess文件中(对我不起作用):
AddType video/ogg .ogv
AddType video/mp4 .mp4
AddType video/mp4 .mov
AddType video/webm .webm
目前,我正在htaccess中使用您已经提到的\“ Add Satisfy All \”(请参见下面的代码):
<FilesMatch mp4>
Satisfy any
order allow,deny
allow from all
</FilesMatch>
这并不是真正的解决方案,因为现在可以访问文件了,如果您知道直接链接到文件的情况……对于我来说还是可以的,但是期待着一个切实可行的解决方案!
, 我怀疑这与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>
注意:波浪号告诉Apache在文件名末尾而不是主目录中进行匹配。
我能够使用Safari 6.02在Lion(10.7.5)上重新创建此行为。装有Safari 6.02的Mountain Lion(10.8.2)提供了第二个身份验证窗口,并正确播放了视频。
我唯一怀疑的另一件事是,需要为mp4播放显式设置服务器的mime类型。以防万一,.htaccess块的第二条规则可以解决这一问题。
, 我基本上是采用@longilong和@joemailer的建议,并在.htaccess中为我们的目的做了一个更完整的说明:
AddType video/ogg .ogv
AddType video/mp4 .mp4
AddType video/mp4 .mov
AddType video/x-m4v .m4v
AddType video/webm .webm
# Exempt movies from password protection to prevent extra login prompts
<Files ~ \"\\.(ogv|mp4|mov|m4v|webm)$\">
order allow,deny
allow from all
satisfy any
</Files>
, 我发现的唯一解决方法是在媒体所在的目录中添加Satisfy All指令。但是,当然,这可能会在验证区域之外可用。因此,这不是可接受的解决方案。
, 我可以猜测。但是如果您使用基本身份验证,则第一件事就是服务器使用401 RESULT CODE应答。然后浏览器弹出带有用户名/密码对话框。
播放器可能无法立即获取正确的内容。尝试使用Firefox和Firefox插件解决此问题,以读取网络访问权限进行验证。
也许您可以先进行身份验证来解决它。
, 我一直有同样的问题。我不确定为什么会这样,但是我找到了一种使Safari(我使用的是6.0.2版)将视频文件加载到受密码保护的目录(.htaccess身份验证)的子目录中的方法。如果我将登录凭据添加到系统钥匙串中,它确实可以工作。我猜对资源的请求未通过正确的身份验证发送。这就是满足所有解决方案的原因:资源不再需要身份验证。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。