2013-03-21 3 views
0

Я не думал о своей реализации, и теперь я застрял. Я использую IIS 7.5, URL Rewrite 2.0 и Jplayer.IIS 7.5 URL Переадресовать прямую ссылку на медиа-страницу

Моя текущая реализация заключается в том, что у меня есть пользователи, загружающие аудиофайлы на мой сервер. Для прослушивания этих аудиофайлов пользователям предоставляется прямая ссылка для воспроизведения в браузере или через 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> 

ответ

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

Здравствуйте, я забыл, что я изменил файл music.html на PHP. Могу ли я использовать шаблон HTTP_ACCEPT с этим типом файла? – nawlrus

+0

Да, просто замените 'music.html' на' music.php'. –

Смежные вопросы