MVC路由静态文件

本文关键字:文件 静态 路由 MVC | 更新日期: 2023-09-27 17:50:31

我正在使用一个遗留的swf文件,该文件正在控制器/动作路由中寻找静态路由。例如,它正在尝试下载文件

http://localhost:59801/Resource/Details/ClearExternalPlaySeekMute.swf

当文件存在于根目录时:

http://localhost:59801/ClearExternalPlaySeekMute.swf

我可以使用MapRoute将这个URL映射到根目录吗?

MVC路由静态文件

您可以在IIS中使用url rewrite模块。安装后,只需添加以下重写规则:

<system.webServer>
    <rewrite>
      <rules>
        <rule name="Rewrite Static Flash file" stopProcessing="true">
          <match url="^Resource/Details/ClearExternalPlaySeekMute.swf$" />
          <action type="Rewrite" url="ClearExternalPlaySeekMute.swf" />
        </rule>
      </rules>
    </rewrite>
</system.webServer>

现在,当向/Resource/Details/ClearExternalPlaySeekMute.swf发出请求时,它将由/ClearExternalPlaySeekMute.swf提供服务。

这应该为您工作,但我认为这将通过IIS更好。

routes.IgnoreRoute("{file}.swf");

我记得有一篇非常好的帖子。如果我找到了,我一定会参考的。

基本上是相同的问题…使用ASP。. NET路由服务静态文件