URL Rewrite 2.0不包括子文件夹

时间:2013-02-07 14:54:38

标签: url iis filter rewrite

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

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

它也不会播放(或加载)。

我非常感谢你帮助我解决这个问题。 亲切的问候, 大卫

0 个答案:

没有答案
相关问题