IIS部署錯誤: 403.14-Forbidden Web 伺服器被配置為不列出此目錄的內容
阿新 • • 發佈:2019-02-05
部署你的dotnet程式到IIS的時候,經常會遇到如下錯誤
如果你按它上面的提示把目錄瀏覽開啟的話,那就too yong, too naive,開啟目錄瀏覽會直接顯示檔案的目錄。
一般情況下,IIS接受到請求後,如果是靜態的檔案,比如html, css,javascript檔案,它會直接請求檔案,前將返回的結果返回給客戶端,那如果不是靜態檔案呢,比如:asp, aspx, php等請求呢,這時候IIS會把請求交給對應擴充套件API模組來處理。接管.net 者asp.net mvc請求擴充套件API的名字叫isapi, 所以先得檢查一下這個Module有沒有,如下:
如果上面這個模組沒有的話,那需要到:控制面板-》啟用或關閉Window功能=》Web伺服器(IIS)中啟用ASP.NET 4.6、ISAPI擴充套件,如下圖:
安裝成功之後,再來看看那個模組(Module)中有沒有isapi,如果有的話,那網站就可以正常打開了。如果還打不開,可以採用以下辦法。
(1)開啟IIS的”處理程式對映設定“,在右邊的操作欄下有 ”新增指令碼對映“
請求路徑:*
可執行檔案:C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll
(2)改配置檔案web.config配置檔案的配置節點
<system.webServer>
<validation validateIntegratedModeConfiguration="false" />
<modules runAllManagedModulesForAllRequests="true
<directoryBrowse enabled="false" />
</system.webServer>
要設定<modules>節的值為true, 而目錄瀏覽啟用或禁用其實都沒影響的。