2013-03-21 1 views
0

나는 내 구현을 생각하지 않았지만 지금은 붙어 있습니다. IIS 7.5, URL 재 작성 2.0 및 Jplayer를 사용하고 있습니다.IIS 7.5 URL 미디어 페이지로 직접 연결 리디렉션

나의 현재 구현은 사용자가 내 서버에 오디오 파일을 업로드하도록했습니다. 이러한 오디오 파일을 들으려면 브라우저 나 앱 미디어 플레이어의 Android/iOS를 통해 직접 재생할 수있는 링크가 제공됩니다.

이제 직접 오디오 파일에 링크하는 사용자를 리디렉션하려는 방문 페이지를 만들었습니다. 방문 페이지가 Jplayer를 사용 중입니다.

문제는 jplayer를 재생하기 위해 오디오 파일에 대한 직접 링크를 사용해야한다는 것입니다. 직접 링크를 리디렉션 할 때 미디어 URL을로드하지 못했습니다.

Android 및 iOS 앱이 AV 플레이어에서 파일을 재생하기 위해 .mp3에 직접 연결되므로 문제가됩니다. 이 주변에 어쨌든 있습니까? 더 나은 구현이 있습니까? 이 시점에서 무엇을해야할지 확신하지 못합니다.

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" 
}); 

7.5 리디렉션 규칙을 IIS :

<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> 

답변

0

가능한 솔루션은 HTTP 헤더를 허용하고 페이지를로드 할 것으로 예상 브라우저가 있는지보고 확인 할 수 있습니다. 그렇다면 플레이어 방문 페이지로 리디렉션됩니다. 그렇지 않으면 요청을 그대로두고 오디오 파일을 직접로드합니다.

당신은 조건부로 동의 헤더를 확인할 수 있습니다

<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> 
+0

안녕하세요, 저는 PHP에 music.html 파일을 변경할 것을 잊어 버렸습니다. 해당 파일 형식으로 HTTP_ACCEPT 패턴을 계속 사용할 수 있습니까? – nawlrus

+0

네, 단지'music.html'을'music.php'로 대체하십시오. –