我有一個簡單的網頁使用HTML 5音頻標籤進行流式傳輸。我已經設置了一個IIS7重寫規則,以便瀏覽器不能直接下載MP3文件,但它仍然可以通過音頻控制進行流式傳輸。這適用於我的桌面(Chrome 37.0.2062.124 m),但不適用於我的Android設備(Samsung Galaxy S5)。我無法在Android上下載該文件,但我無法將其傳輸。當我禁用重寫規則時,流媒體在兩個設備上都能正常工作,但當然也可以直接下載文件。流媒體音頻不適用於Android
這裏是我的網頁:
<div>
<h3>
Audio
</h3>
<audio controls="controls" preload="auto">
<source src="audio.mp3" type="audio/mpeg">
</audio>
</div>
這裏是我的web.config:
<rewrite>
<rules>
<rule name="Prevent MP3 Hotlinking" enabled="true">
<match url=".*\.(mp3)$" />
<conditions>
<add input="{HTTP_REFERER}" pattern="^$" negate="true" />
<add input="{HTTP_REFERER}" pattern="http://www.example.com/.*" negate="true" />
</conditions>
<action type="Rewrite" url="http://www.example.com" />
</rule>
</rules>
</rewrite>
任何想法?
謝謝!
編輯: 我已經設置了我的手機來使用我的電腦作爲代理,所以我可以使用Fiddler2來監控流量。一些奇怪的事情正在發生。
從我的電腦(工作),瀏覽器啓動一個GET文件的MP3文件,並正確接收HTTP 206響應。從我的手機(它不工作),它首先發出一個GET文件到mp3文件,接收到一個206響應,然後立即啓動另一個沒有HTTP_REFERER的MP3文件GET,這當然會導致它失敗,因爲URL重寫。我不確定我還能做什麼,這是我手機上的Chrome瀏覽器的問題嗎?
沒有,沒有重定向。它只是一個HTML頁面,直接鏈接到位於同一個服務器,同一目錄中的mp3文件。 – 2014-10-08 00:23:34