1. 程式人生 > >IIS部署錯誤: 403.14-Forbidden Web 伺服器被配置為不列出此目錄的內容

IIS部署錯誤: 403.14-Forbidden Web 伺服器被配置為不列出此目錄的內容

部署你的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, 而目錄瀏覽啟用或禁用其實都沒影響的。