有人可以帮我解决我的问题吗?
我在 IIS 7.5 和 URL-Rewrite 2.0 上使用 ASPX 文件在任何访问条件下获取 SSL:
www.somedomain.com -> https://www.somedomain.com
www.somedomain.com/mypage.aspx -> https://www.somedomain.com/mypage.aspx
它运行良好。但是,由于页面加载/播放一些 MP3/OGG 文件,我注意到:
1- 如果页面在 SSL 中执行,则 MP3 在某些设备(Androids/iPhone/iPad 移动设备)中无法播放;
2-如果页面在没有 SSL 的情况下执行,它会正常发生,100%。
因此,我试图在 URL-REWRITE 中过滤 MP3/OGG 文件(以及 PNG/JPG 图像)以避免它们在 SSL 下的访问。我的过滤器是:
<add input="{REQUEST_URI}" pattern="(png|jpg|mp3|ogg)" negate="true" />
<add input="{HTTPS}" pattern="^OFF$" />
我在这些文件上尝试了很多过滤器设置,如 {REQUEST_URI}、{URL}、{UNENCODED_URL},我发现它们都无法在 SSL 下避免这些文件。我使用 MICROSOFT NETWORK MONITOR 看到了这一点,它显示所有文件都在端口 443 (HTTPS) 中加载。另一个特点是我从未在那里看到原始文件名(MP3 文件和图像)。似乎一切都在 SSL 设置下。另一个原因是 MP3 不能在 SSL 访问中播放,并且图像会延迟几秒钟才能加载。
我无法使用整个域名/文件夹名称(如 www.mydomain.com/songs/music.MP3),因为我使用的是 JPLAYER 2.0,我无法使用整个 MP3 地址设置这个库(歌曲无法播放!),但只是它们所在的子文件夹,如下所示(参见 mp3 和 ogg 标签):
$("#jquery_jplayer_1").jPlayer({
ready: function () {
$(this).jPlayer("setMedia", {
mp3:"audio/" + theSongs[0] + ".mp3",
ogg:"audio/" + theSongs[0] + ".ogg"
});
},
play: function () { // To avoid both jPlayers playing together.
$(this).jPlayer("pauseOthers");
},
swfPath: "Scripts/jPlayer/",
supplied: "mp3, ogg",
volume: 0.25,
cssSelectorAncestor: "#jp_container_1",
wmode: "window"
});
如何避免这种行为?我不想将这些文件(MP3、OGG、JPG、PNG)放在另一个域中,以避免 URL-REWRITE 捕获它们。我需要它们在同一个主项目及其子文件夹之一(音频和图像文件夹)中。
如何创建入站规则以真正完全丢弃这些文件?注意:如果我通常使用类似的东西
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
它也不播放(或加载)。
我将非常感谢您为帮助我解决该问题所做的努力。亲切的问候,大卫