2013-09-27 55 views
1

我正在使用DNN網站,並且我有一個要求,可以設置URL重寫,以將針對MP4視頻的特定URL的傳入請求重定向到其他位置。如果傳入的URL沒有*.mp4文件擴展名,但是如果擴展名存在,則重定向失敗,並且獲得一個404.我可以使它工作。我設置了SiteUrls.config文件來添加下面的條目:URL重寫不能用於* .mp4文件擴展名

<RewriterRule> 
    <LookFor>.*VIDEOFILENAME.mp4(.*)</LookFor> 
    <SendTo>http://externalsite/video/VIDEOFILENAME.mp4$1</SendTo> 
</RewriterRule> 

上述配置導致404,如果你嘗試瀏覽mydnnsite/VIDEOFILENAME.mp4

但是,如果您嘗試瀏覽到mydnnsite/VIDEOFILENAME以下配置工作得很好(不*.mp4擴展。)

<RewriterRule> 
    <LookFor>.*VIDEOFILENAME(.*)</LookFor> 
    <SendTo>http://externalsite/video/VIDEOFILENAME.mp4$1</SendTo> 
</RewriterRule> 

無論出於何種原因,文件擴展名的存在會阻止重定向的發生。

+0

* VIDEOFILENAME \ .MP4 HTTP(*)://externalsite/video/VIDEOFILENAME.mp4$1

+0

謝謝你的評論,但我只是想這出來,它並沒有爲我工作。它仍然導致404。 – jwnace

回答

1

IIS可能設置爲將具有.mp4擴展名的請求路由到靜態文件處理程序,並且它根本沒有獲得DNN來重寫該請求。您可以查看IIS中的Handler Mappings配置以查看是否存在*.mp4的映射。

理想情況下,你會在IIS中進行重定向,無論如何,而不是將它發送到DNN,只是爲了重新定向。