[英]ASP.NET-MVC serve files in a directory as if they were in root
我有一个ASP.NET-MVC5项目,客户端是用AngularJS编写的单页应用程序(只有静态文件才能启动它,C#控制器不提供HTML,它们仅处理AJAX调用)。 为了方便起见,Angular部分的所有静态文件(.html,.js,.css)都位于根目录中的WebClient
目录中。
一切都可以与www.my-app.com/webclient/index.html
路径www.my-app.com/webclient/index.html
,但我希望它仅与www.my-app.com/index.html
一起工作。 为此,我需要以某种方式将WebClient
目录映射到根地址。 做这个的最好方式是什么? 最好仅使用Web.config
文件(但欢迎任何工作方式)。
PS我知道我可以编写自己的控制器来执行此操作,但是据我了解,它会比StaticFileHandler中内置的要慢。 我正在寻找更好的解决方案。 提前致谢。
Okey因此,与往常一样,在接下来的5分钟内遇到问题的肯定方法是最终提出关于SO的问题。
答案是IIS URL重写模块。 在这里找到有关的信息
您需要将其添加到Web.config中(regexp仍需要做一些工作来屏蔽API路由并添加所有可能的符号)
<system.webServer>
<rewrite>
<rules>
<rule name="Route root to WebClient" stopProcessing="true">
<match url="^([_0-9a-z-./\?]+)" />
<action type="Rewrite" url="WebClient/{R:1}" />
</rule>
</rules>
</rewrite>
</system.webServer>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.