[英]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.