Safari无法在htaccess文件夹中播放mp4格式的html5视频。

4
我只是在为一个私人网页工作,其中包含一些视频,只能通过htaccess访问。所有视频均为html5编码,在没有htaccess文件的情况下,该网站在任何浏览器上都可以正常工作。
将htaccess文件放到我的服务器后,Safari无法加载mp4视频。在Charles中,我得到了“401 Authorization Required”的错误信息。
我查看了这里的几篇帖子,但尚未找到解决方法。如果有人能指导我正确的方向,可以提供帮助!
一些人解决了此问题,将mime类型添加到htaccess文件中(见下文)。但对我没有用...有任何想法吗?
根目录处的htaccess文件:
AuthUserFile /rootpath/.htpasswd
AuthGroupFile /dev/null
AuthName "Password Protected Area"
AuthType Basic
AddType video/ogg .ogv
AddType video/mp4 .mp4
AddType video/mp4 .mov
AddType video/webm .webm

<limit GET POST>
require valid-user
</limit>

视频文件夹中的htaccess

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

我甚至查看了一些HTML5示例视频,所以不能是错误的编解码器。请记住,如果没有htaccess文件,它可以完美地工作,所以我猜我的配置仍然有问题。但我不知道错误在哪里...

2个回答

2

尝试使用以下代码:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !=/favicon.ico
AddType video/ogg .ogv
AddType video/ogg .ogg
AddType video/mp4 .mp4
AddType video/webm .webm
AddType application/x-shockwave-flash swf

2

几个小时过去了,仍然没有找到真正的解决方案......但对于我的情况,我在我的 .htaccess 文件中使用以下标签:

<FilesMatch mp4>
Satisfy any
order allow,deny
allow from all
</FilesMatch>

现在文件可以直接访问,即使用户没有htaccess密码。这不是真正的解决方案,但对于我的情况来说还可以,因为这是一个私人页面。

还有其他更好的想法吗?!


非常感谢,这对我真的很有帮助。iPad上受限的目录中无法播放mp4文件,所以我不得不允许直接访问它们,现在一切都正常了! - Mika Andrianarijaona
1
@Mika:不用谢,但请记住,如果用户知道直接链接,没有密码的用户也可以观看视频!(所以你的视频并不是真正安全的..) - longi
是的,这是正确的,但这仅适用于暂存网站,而不是生产版本,生产版本将没有此限制。 - Mika Andrianarijaona

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接