1

有人可以帮我解决我的问题吗?

我在 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" />

它也不播放(或加载)。

我将非常感谢您为帮助我解决该问题所做的努力。亲切的问候,大卫

4

0 回答 0