IIS 7.5 URL重定向到媒体页面的直接链接

IIS 7.5 URL重定向到媒体页面的直接链接,iis,redirect,url-rewriting,mp3,jplayer,Iis,Redirect,Url Rewriting,Mp3,Jplayer,我认为我的实现没有完成,现在我陷入了困境。我正在使用IIS 7.5、URL重写2.0和Jplayer 我当前的实现是让用户将音频文件上传到我的服务器。要收听这些音频文件,用户可以直接通过浏览器或Android/iOS应用程序媒体播放器播放 现在我已经创建了一个登录页,我想重定向那些直接链接到音频文件的用户。登录页正在使用Jplayer 问题是我必须使用音频文件的直接链接才能让jplayer播放它。由于我正在重定向直接链接,因此无法加载媒体url 这也成为一个问题,因为我的Android和iOS应

我认为我的实现没有完成,现在我陷入了困境。我正在使用IIS 7.5、URL重写2.0和Jplayer

我当前的实现是让用户将音频文件上传到我的服务器。要收听这些音频文件,用户可以直接通过浏览器或Android/iOS应用程序媒体播放器播放

现在我已经创建了一个登录页,我想重定向那些直接链接到音频文件的用户。登录页正在使用Jplayer

问题是我必须使用音频文件的直接链接才能让jplayer播放它。由于我正在重定向直接链接,因此无法加载媒体url

这也成为一个问题,因为我的Android和iOS应用程序直接链接到.mp3,以便在其AV播放器中播放该文件。这有什么关系吗?是否有更好的实施方案?现在不知道该怎么办

Jplayer:

        $("#jquery_jplayer_1").jPlayer({
    ready: function (event) {
        $(this).jPlayer("setMedia", {
            mp3: "http://192.168.0.28/flows/t/test/test1334187052069.mp3"
        }).jPlayer("play"); // auto play;
    },
    swfPath: "js",
    supplied: "mp3",
    errorAlerts: true,
    warningAlerts: true,
    wmode: "window"
});
IIS 7.5重定向规则:

<rewrite>
    <rules>
        <rule name="FlowURLs">
            <match url="^flows/[_0-9a-zA-Z-]+/[_0-9a-zA-Z-]+/([._0-9a-zA-Z-]+)" />
            <action type="Redirect" redirectType="Found" url="music.html?flow={R:1}" />
        </rule>
    </rules>
</rewrite>

一个可能的解决方案可能是检查HTTP accept标头,看看它是否是一个希望加载页面的浏览器。如果是这样,则重定向到玩家登录页。否则,将请求保持原样,让它直接加载音频文件

您可以使用以下条件检查accept标头:

<rewrite>
    <rules>
        <rule name="FlowURLs">
            <match url="^flows/[_0-9a-zA-Z-]+/[_0-9a-zA-Z-]+/([._0-9a-zA-Z-]+)" />
            <conditions>
                <add input="{HTTP_ACCEPT}" pattern="text/html" />
            </conditions>
            <action type="Redirect" redirectType="Found" url="music.html?flow={R:1}" />
        </rule>
    </rules>
</rewrite>


您好,我忘了将music.html文件更改为php。我仍然可以对该文件类型使用HTTP_ACCEPT模式吗?是的,只需将
music.html
替换为
music.php