2010-03-03 54 views
12

在IIS7中設置ASP.NET網站後,出現內部服務器錯誤(500.19):
'無法識別的配置路徑'。IIS7:'無法識別的配置路徑'錯誤的可能原因

這種錯誤的可能原因是什麼?

(設置其他ASP.NET網站工程確定,但對於一個特定的網站它不工作,我想不通的區別。)


詳細的錯誤描述:

Error Summary:
HTTP Error 500.19 - Internal Server Error
The requested page cannot be accessed because the related configuration data for the page is invalid. Detailed Error Information:
Module: IIS Web Core
Notification: BeginRequest
Handler: Not yet determined
Error Code: 0x80070002
Config Error: Unrecognized configuration path 'MACHINE/WEBROOT/APPHOST/...'
Config File:
Requested URL: http://...:80/
Physical Path:
Logon Method: Not yet determined
Logon User: Not yet determined
Config Source:
-1:
0:

回答

0

我發現它取決於網站名稱的長度。縮短名稱使其起作用(使其更長使其崩潰)。

0

我得到了同樣的錯誤,但後來我設法通過從IIS完全刪除它並使用不同的名稱再次添加它來使網站正常工作。

但我仍然不知道背景是什麼。

0


我正在使用IIS Express,並且我得到了同樣的錯誤。
我做了什麼,我將applicationhost.config文件從Documents \ IISExpress \ config移動到另一個位置,然後從命令提示符運行iisexpress。
它爲我工作。

6

我使用IISExpres 7.5時,作爲一個開發Web服務器有這樣的錯誤:

HTTP錯誤500.19 - 內部服務器錯誤 請求的頁面無法訪問,因爲該頁的相關配置數據無效。

詳細錯誤信息:

模塊:IIS Web核心

通知:未知

處理程序:尚未確定

錯誤代碼:0x80070002

配置錯誤:無法識別的配置路徑'MACHINE/WEBROOT/APPHOST/.....'

步驟來解決:

  • 開放的 「%USERPROFILE%\我的文檔\ IISExpress \ CONFIG \對ApplicationHost.config。」
  • 刪除所有system.applicationHost/sites/site節點並保存文件。
  • 轉到web項目(在VS2010中),然後web - >服務器的屬性頁。
  • 檢查「使用IIS Express」
  • set project url :(例如,http://localhost:54230/my-web-site
  • 點擊 「創建虛擬目錄」

現在應該再次合作。

我的根本原因是我試圖刪除項目網址的父應用程序。 它首先被配置爲http://localhost:54230/,然後我改成http://localhost:54230/my-web-site

此引入配置錯誤有點像these

卸下父應用程序打破了the configuration path鏈。

29

我發現在對applicationhost.config文件的站點配置進行一些更改後,我得到了同樣的錯誤。仔細查看並比較了一些可以正常工作的網站與其他網站無法正常工作的網站之後,我注意到我顯然已經爲我的一些網站重新配置了父應用程序配置。

這裏是當我收到「無法識別的配置路徑」 500.19錯誤站點配置的一個例子:

<site name="Peanuts-Site" id="2345"> 
    <application path="/peanuts" applicationPool="Clr4IntegratedAppPool"> 
     <virtualDirectory path="/" physicalPath="C:\websites\Peanuts" /> 
    </application> 
    <bindings> 
     <binding protocol="http" bindingInformation="*:80:localhost" /> 
    </bindings> 
</site> 

和這裏的是什麼樣子後,我恢復刪除父應用:

<site name="Peanuts-Site" id="2345"> 
    <application path="/" applicationPool="Clr4IntegratedAppPool"> 
     <virtualDirectory path="/" physicalPath="C:\Users\firstname.lastname\Documents\My Web Sites\Peanuts-Site" /> 
    </application> 
    <application path="/peanuts" applicationPool="Clr4IntegratedAppPool"> 
     <virtualDirectory path="/" physicalPath="C:\websites\Peanuts" /> 
    </application> 
    <bindings> 
     <binding protocol="http" bindingInformation="*:80:localhost" /> 
    </bindings> 
</site> 

當時我並不知道IIS Express似乎需要定義一個應用程序,該應用程序在指定任何未映射到站點根目錄的應用程序時映射到站點根目錄。再次想到,這個要求實際上確實有意義。

獲得的經驗 - 除非你知道你在做什麼,否則不要過分熱衷修剪。我很高興我記得我做了什麼,所以我稍後可以修復它。

+0

優秀的答案 - 爲我節省了很多時間:) –

+1

做了同樣的事情。在實際移除配置文件之前,請務必註釋掉要從配置文件中移除的內容,如果發生中斷,您可以輕鬆地回滾更改。 – dfjacobs

+1

這簡直是愚蠢的。這使你成爲一個天才。謝謝。 – Andrew

0

我們在新配置的計算機上克隆了GIT裸存儲庫(位於服務器上的文件夾中)後發生了這種情況。

我們嘗試了@RemcoSchoeman給出的步驟,但沒有成功。當我們從項目的根文件夾中刪除.vs文件夾時,它再次開始工作。

相關問題