我正在使用一个遗留 swf 文件,该文件正在控制器/动作路由中查找静态路由。例如,它正在尝试下载文件
http://localhost:59801/Resource/Details/ClearExternalPlaySeekMute.swf
当文件存在于根目录时:
http://localhost:59801/ClearExternalPlaySeekMute.swf
我可以使用MapRoute
将此 URL 映射到根目录吗?
我正在使用一个遗留 swf 文件,该文件正在控制器/动作路由中查找静态路由。例如,它正在尝试下载文件
http://localhost:59801/Resource/Details/ClearExternalPlaySeekMute.swf
当文件存在于根目录时:
http://localhost:59801/ClearExternalPlaySeekMute.swf
我可以使用MapRoute
将此 URL 映射到根目录吗?
您可以url rewrite
在 IIS 中使用该模块。安装后,只需添加以下重写规则:
<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");
我记得一个非常好的SO帖子。如果我找到它,我一定会参考。
基本上是同一个问题...使用 ASP.NET 路由来提供静态文件