標籤:
在設定頁面靜態化的路由,代碼如
//靜態路由 routes.MapRoute( name: "html", url: "{controller}/{action}.html", defaults: new { controller = "Main" , action = "Index" } ); 需要將靜態html檔案處理常式映射到aspnet_isapi.dll處理。 可以在IIS中添加 也可以在web.Config檔案中添加
< handlers> < add name = "html_64.bit" path = ".html" verb = "*" type ="C:\windows\Microsoft .NET\Framework64\v4.0.30319\aspnet_isapi.dll" resourceType = "Unspecified" preCondition ="integratedMode" /> < add name = "html_32.bit" path = "*.html" verb = "*" type ="C:\windows\Microsoft .NET\Framework\v4.0.30319\aspnet_isapi.dll" resourceType = "Unspecified" preCondition ="integratedMode" /> </ handlers >
這樣子所有的Action請求就可以加上.html尾碼了,
這樣子問題就來了,所有的帶有的.html尾碼名請求都會經過handler處理,包括靜態檔案,如果在網站的根目錄放一個靜態檔案,是不能直接存取的, 如果想解決訪問靜態html檔案,我們需要加一個配置,比如,想訪問網站根目錄下的text.html,
< handlers > < add name = "text" path = "text.html" verb = "*" modules ="StaticFileModule" resourceType ="File" /> </ handlers >
這樣子就解決了,直接存取指定靜態檔案的問題了。 Web工具箱
C# MVC 頁面靜態化導致的問題