URL重写不适用于* .mp4文件扩展名

时间:2013-09-27 14:51:35

标签: iis redirect rewrite dotnetnuke mp4

我正在开发DNN网站,我需要设置网址重写,以便将MP4视频的特定网址的传入请求重定向到其他位置。如果传入的URL没有*.mp4文件扩展名,我可以使它工作,但如果扩展名在那里,重定向失败,我得到404。

我通过修改SiteUrls.config文件来设置重写,以添加以下条目:

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

如果您尝试浏览mydnnsite/VIDEOFILENAME.mp4,则上述配置会产生404。

但是,如果您尝试浏览mydnnsite/VIDEOFILENAME(没有*.mp4扩展名,则以下配置可以正常运行。)

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

无论出于何种原因,文件扩展名的存在都会阻止重定向的发生。

1 个答案:

答案 0 :(得分:1)

IIS可能设置为将具有.mp4扩展名的请求路由到静态文件处理程序,并且它根本没有到达DNN来重写请求。您可以查看IIS中的Handler Mappings配置,看看是否有*.mp4的映射。

理想情况下,你在IIS中进行重定向,而不是将其发送到DNN,只是为了重定向回来。