gpt4 book ai didi

javascript - .htaccess 规则使 sm2 无法在 Android 和 iPad 上加载我网站的 mp3

转载 作者:行者123 更新时间:2023-12-02 18:43:18 26 4
gpt4 key购买 nike

我在应用程序的 asset/audio 目录中使用 .htaccess 来防止直接下载 播放的 mp3 文件。 。以下是放在assets/audio目录下的.htaccess代码:

RewriteEngine on 
RewriteCond %{HTTP_REFERER} !^http://(www\.)?localhost [NC]
RewriteCond %{HTTP_REFERER} !^http://(www\.)?localhost.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://(www\.)?quran\.2index\.net [NC]
RewriteCond %{HTTP_REFERER} !^http://(www\.)?quran\.2index\.net.*$ [NC]
RewriteRule \.(gif|jpg|mp3)$ - [R=401]
ErrorDocument 401 /e401.html
AddType audio/mpeg mp3

在桌面 (Windows 7) 中,任何 Web 浏览器都可以使用 soundmanager2 播放声音。现场演示可在以下 URL 找到: http://quran.2index.net/viewAyah/1

问题出在 Android 网络浏览器、Android 上的 Opera 和 iPad 上的 Safari(我刚刚测试过的那些)上。这些浏览器无法加载mp3音频文件并弹出下载文件!

对我来说最奇怪的事情是,当我注释掉上面提到的 .htaccess 的所有行(第一行和最后一行除外)时,SM2 在 Android 和 iPad 上可以正常工作!

我想知道,服务器端.htaccess和客户端Web客户端之间有什么关系?或者 .htaccess 中的什么问题使得 SM2 在 Windows7 桌面上的任何浏览器上都能正常工作,但在 Android 网络浏览器和 iPad 上却无法工作?!有什么建议吗?

最佳答案

对于 iphone、ipad(我假设还有 Android),Soundmanager2 从 Flash 回退到 html5,并且该 html5 元素在尝试检索需要播放的媒体文件时不提供 http_referer 标记。因此,.htaccess 文件通过抛出禁止的响应来拒绝其请求。

我已经在 Stackoverflow 上找到了其他人解决这个问题(尽管是 html5 中的视频)。解决方案是将 user_agent 测试添加到 .htaccess 文件中。我已经测试了该线程的解决方案,它也解决了我的 Soundmanager2 问题。

.htaccess HTTP_USER_AGENT not working

虽然这不是一个万无一失的解决方案(据我所知,任何希望绕过此 user_agent 检查的人都可以覆盖 header 信息),但它是一种让播放器正常工作的解决方法...

[从上面的链接复制的解决方案将为这个特定问题生成以下内容]

RewriteEngine on
RewriteCond %{HTTP_USER_AGENT} !(Android|iPod|iPhone|iPad) [NC]
RewriteCond %{HTTP_REFERER} !^http://(www\.)?localhost [NC]
RewriteCond %{HTTP_REFERER} !^http://(www\.)?localhost.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://(www\.)?quran\.2index\.net [NC]
RewriteCond %{HTTP_REFERER} !^http://(www\.)?quran\.2index\.net.*$ [NC]
RewriteRule \.(gif|jpg|mp3)$ - [R=401]
ErrorDocument 401 /e401.html
AddType audio/mpeg mp3`

关于javascript - .htaccess 规则使 sm2 无法在 Android 和 iPad 上加载我网站的 mp3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16660805/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com