2013-09-24 66 views
71

我只是在Visual Studio 2012中創建一個新的空網站,並點擊運行(即視圖瀏覽器)的內容,我得到這個錯誤:HTTP錯誤403.14 - 禁止 - Web服務器被配置爲不列出該目錄

HTTP錯誤403.14 - 禁止 Web服務器被配置爲不列出此目錄的內容。

我走進IIS和點擊目錄瀏覽,然後確保目錄瀏覽已啓用,但我仍然得到這個錯誤。我無法弄清楚?

我剛剛創建未在IIS管理器中默認網站,我想列出的網站項目很奇怪。

我該如何擺脫這個錯誤?

+0

配置爲使用項目IIS?還是IIS Express?還是卡西尼? –

+0

您**在瀏覽器**中運行**或**視圖嗎? 2種不同的東西。如果這是一個MVC項目,那麼你可能試圖在瀏覽器中查看'view'? – christiandev

+0

請確保您啓用* ASP.NET 4.5或ASP.NET *從*控制面板\所有控制面板項目\程序和功能\打開或關閉Windows功能\ Internet信息服務\萬維網服務\應用程序開發功能\ ASP.NET 4.5或ASP.NET 3.5 *,具體取決於您的應用程序池設置。 –

回答

4

空網站模板創建一個ASP.NET網站,包括Web.config文件,但沒有其他文件。意味着你沒有任何默認頁面顯示在瀏覽或運行。

此錯誤消息只是意味着你沒有設置和你的IIS正確配置默認文檔。

配置完成後,錯誤消息將消失。

+0

我沒有添加母版頁到空的網站,當我點擊沒有代碼運行時,我仍然有一個錯誤。我不知道我需要做什麼才能使其運行? – Aindriu

+0

你有沒有在你的網站的默認頁面,如果沒有,然後創建並設置默認頁面顯示在這個鏈接http://www.iis.net/learn/web-hosting/web-server-for-shared-hosting/default - 文檔 –

+0

不,我沒有在空白網站中的默認頁面。我正在關注C#書中的一個示例。我添加了一個默認頁面,頁面會在網頁瀏覽器中加載好。但這個例子只使用母版頁。我不明白爲什麼它不起作用。它是一個非常簡單的例子。 – Aindriu

84

保持到網絡配置文件這一然後重命名附加價值= 「yourwebformname.aspx」

<system.webServer> 
    <defaultDocument> 
     <files> 
      <add value="insertion.aspx" /> 
     </files> 
    </defaultDocument> 
    <directoryBrowse enabled="false" /> 
</system.webServer> 

其他

<system.webServer> 
    <directoryBrowse enabled="true" /> 
</system.webServer> 
+0

你是天使!我花了一個小時的時間來解決這個問題,誰會想到它只是這一行 – wolfQueen

+0

我已經在這個項目上工作了好幾個月 - 從不需要這一行。我今天發佈了這個站點,它不再運行在調試中!增加這條線使它再次工作!我檢查了SVN - 以前絕對不需要它。 WTF!?無論如何,謝謝你,只浪費了一個小時:) – Rick

+0

這節省了我的左螺母。謝謝 – Callat

8

設置起始頁。

當我遇到這個問題時,我進入瞭解決方案資源管理器,找到了我想首先看到的頁面(在我的例子中爲「Home.aspx」),右鍵單擊它並選擇「Set As Start Page」。 。我的問題(這聽起來真的與你相似)這是在Visual Studio 2012 Professional和我跑在Firefox

2

在該網站上的IIS:

  1. 選擇「高級設置」
  2. 然後爲應用程序池選擇「ASP.NET v4.0」

image for example

+1

這不回答OP的問題。更改IIS中站點使用的應用程序池對於如何將站點配置爲列出目錄內容(或不列出它們)沒有任何影響。這不得不使用web.config文件中的配置。 – JNYRanger

20

此問題的原因是該網站沒有啓用的Directory Browsing功能,並且未配置默認文檔。要解決此問題,請使用以下方法之一。爲解決此問題,我按照MS Support page及其推薦方法中所述的方法1中的步驟進行操作。

方法1:在IIS中啓用了目錄瀏覽功能(推薦)

  1. 啓動IIS管理器。爲此,請單擊開始,單擊運行,鍵入inetmgr.exe,然後單擊確定。

  2. 在IIS管理器中,展開服務器名稱,展開網站,然後單擊要修改的網站。

  3. 在功能視圖中,雙擊目錄瀏覽。

  4. 在「操作」窗格中,單擊「啓用」。

如果這不起作用,您可能會有不同的問題,而不僅僅是一個目錄列表問題。因此,按照下面的步驟,

方法2:添加默認文檔

要解決此問題,請按照下列步驟操作:

  • 啓動IIS管理器。爲此,請單擊開始,單擊運行,鍵入inetmgr.exe,然後單擊確定。
  • 在IIS管理器中,展開服務器名稱,展開網站,然後單擊要修改的網站。
  • 在「功能」視圖中,雙擊「默認文檔」。
  • 在「操作」窗格中,單擊「啓用」。
  • 在文件名框中,鍵入默認文檔的名稱,然後單擊確定。

方法3:啓用目錄瀏覽功能,在IIS快遞

注意此方法是針對Web開發人員誰的經驗,當他們使用IIS Express中的問題。

遵循以下步驟:

  • 打開命令提示符,然後去你的計算機上的IIS Express文件夾。 例如,轉到以下文件夾中的一個命令提示符: C:\Program Files\IIS Express

  • 鍵入以下命令,然後按Enter鍵:

    appcmd set config /section:system.webServer/directoryBrowse /enabled:true

+2

這應該是被接受的答案。謝了哥們。 – Pirate

13

嘗試添加以下設置web.config文件。

<system.webServer> 
    <modules runAllManagedModulesForAllRequests="true"/> 
</system.webServer> 
+0

HTTP錯誤500.22 - 內部服務器錯誤 –

+0

我的問題已解決,在webconfig文件中添加此代碼後,謝謝。 – yadavr

10

該問題可能有多種原因。一說爲我工作在IIS 8.5是作爲遵循

步驟

  1. 類型「啓用Windows功能打開或關閉」搜索。
  2. 在服務器管理器中單擊「添加角色和功能」。
  3. 在嚮導中向下滾動到Web服務器並選擇:Web服務器 - >應用程序開發。選擇所有除了從如屏幕顯示的列表CGI拍攝

enter image description here

  • 下最後擊中並安裝。
  • 重新啓動IIS
  • 您的網站可能會開始工作。

    +0

    這工作對我來說 –

    18

    進入cmd,然後輸入:

    用於基於x64的操作系統: %WINDIR%\ Microsoft.NET \ Framework64 \ v4.0.30319 \ ASPNET_REGIIS.EXE -ir

    爲X32操作系統: %WINDIR %\ Microsoft.NET \框架\ v4.0.30319 \ ASPNET_REGIIS.EXE -ir

    這將安裝正確的版本和IIS就會明白MVC目錄瀏覽

    +0

    哇。這是一個很好的建議。謝謝! –

    +0

    真棒答案... – baj9032

    +0

    非常好..你拯救我的生命 –

    1

    爲了解決這個問題,請確保您有MVC 2或以上和.Net Framework 4.0安裝,然後運行命令提示管理員和鍵入以下行:

    爲32位(86): %WINDIR%\ Microsoft.NET \框架\ v4.0.30319 \ ASPNET_REGIIS.EXE -ir

    對於64bit: %windir%\ Microsoft.NET \ Framework64 \ v4.0.30319 \ aspnet_regiis.exe -ir。

    +0

    這一個適用於mvc解決方案謝謝。 – fizmhd

    1

    對我來說,創建一個空的Web Api項目後,我收到了同樣的錯誤。

    我解決它通過在App_Start文件夾:)

    編輯RouteConfig.cs我更換的代碼讀取行: -

    defaults: new { action = "Index", id = UrlParameter.Optional }

    有以下幾點: -

    defaults: new { controller = "Index", action = "Index", id = UrlParameter.Optional }

    注意我只需指定首先要調用其索引操作的Controller。

    那麼所有上述的迴應並沒有解決我的情況(我想) 例如,

    • web.config中啓用目錄瀏覽剛上市在我的項目,就像PHP的所有文件和文件夾,當你沒有一個索引文件
    • 設置defaultDocument也沒有工作會做對於我不知何故仍然得到了HTTP錯誤403.14(仍然不知道爲什麼)

    如果可能有任何與我類似的情況,那麼試試這個。

    +0

    這是我需要的大部分答案。然而,控制器名稱必須與爲MVC應用程序控制器名稱創建的內容相匹配(如果您調用控制器IndexController,那麼它將起作用) - 因此控制器上的操作名稱默認值應該是Index,然後它們全部綁定在一起 - 建議在我看來,使用目錄瀏覽並不是一個好主意,因爲它允許任何人瀏覽您的網站內容。 –

    0

    添加到標籤系統內的Web.config文件。webServer <modules runAllManagedModulesForAllRequests="true"/>

    0

    Asp.net 4未在IIS中註冊。你必須在命令行中運行以下命令:

    32位操作系統

    %windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -ir 
    

    64位操作系統

    %windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -ir 
    
    2

    我有這個一個快速補救。事實上,我得到這個錯誤,因爲我沒有將我的網頁設置爲起始頁面。當我做了我的網頁(html/aspx)設置開始頁面如下所示,我得到了這個錯誤更正。 enter image description here

    我不知道這個解決方案是否會幫助別人。

    -3

    的形式項目點擊右鍵,設置爲初始頁

    解決

    1

    我只是解決了這個問題,通過計劃&功能啓用ASP.NET 4.5功能

    請確保您啓用ASP.NET 4.5或ASP.NET 3.5

    Control Panel\All Control Panel Items\Programs and Features

    Turn Windows Features on or off\Internet Information Services\World Wide Web Services\Application Developement Features\ASP.NET 4.5 or ASP.NET 3.5

    取決於您的應用程序池設置。

    相關問題