簡體   English   中英

ASP.NET-MVC將目錄中的文件視為根目錄中的文件

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM