1. 程式人生 > >無法訪問請求的頁面,因為該頁的相關配置資料無效問題的解決

無法訪問請求的頁面,因為該頁的相關配置資料無效問題的解決

這個錯誤真要了老命了,費了我四五個晚上的時間,各種嘗試,才終於找到問題所在。

錯誤摘要

HTTP 錯誤 500.19 - Internal Server Error

無法訪問請求的頁面,因為該頁的相關配置資料無效。

詳細錯誤資訊
模組 IIS Web Core
通知 未知
處理程式 尚未確定
錯誤程式碼 0x8007000d
配置錯誤
配置檔案 \\?\F:\rongzitong\rztong\web.config
請求的 URL http://localhost:91/
物理路徑
登入方法 尚未確定
登入使用者 尚未確定

因為原來這個網站一直在本地執行的好好的,只是電腦壞了,重做了下系統。因此雖然看到這個錯誤,並不相信是web.config檔案的問題。而網站下的isapi篩選器開啟就報錯,更堅定了我這種看法。

我的是win7系統。因此開啟window程式和功能,在開啟或關閉windows功能中,把iis的各個相關模組嘗試安裝,甚至都裝上了,問題依舊。根據這個錯誤程式碼,在微軟查原因,微軟給出的答案是web.config格式錯誤導致。為了看是否是格式的問題,我特意把svn優先裝上。因為這個網站是用svn做版本控制的。裝上後發現,這個web.config並沒有紅色感嘆號的出現,這說明這個web.config與原來的一樣。暈也不是這裡的問題。難道真是web.config的問題,這時不得不考慮是不是真的web.config有問題了。格式錯誤,這個是不可能的,我一行一行的看web.config 的相關程式碼,看能否找到問題。還真找到一個疑似的問題:

<applicationInitialization remapManagedRequestsTo="index.asp" skipManagedModules="true" doAppInitAfterRestart="true">
            <add initializationPage="cash/index.aspx" />
        </applicationInitialization>

這段程式碼我看到了,applicationInitialization 這個元件是需要單獨安裝的,由於重灌系統,這個元件還沒有安裝。於是我找到ApplicationInitializationInstaller原始檔安裝,安裝完後又設定,但是問題依舊存在。最後我把這三行程式碼刪掉,這時不出現上面那種錯誤提示了,出現瞭如下的錯誤提示:

未能寫入輸出檔案“c:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\root\3f555633\d361c0b\App_global.asax.ptbz5i3w.dll”--“拒絕訪問。 ”

這一看就懂,許可權問題,突然想到,因為是重灌的系統,最有可能出的就是許可權問題。百度了下,先看Temporary ASP.NET Files資料夾,IIS_IUSRS這個有修改許可權,這沒問題啊。還有哪裡?查了網站根目錄,然後看到網站根目錄有兩個未知賬號,因為是重灌系統只是C盤,其他盤原來的賬號對不上號了。把這兩個可疑賬號刪掉,問題依舊,重啟問題依舊。各種折騰。然後查到windows/temp目錄也需要IIS_IUSRS有修改許可權。於是,把windows/temp目錄設定了IIS_IUSRS 賬號修改許可權,這次不再提示許可權錯誤了。而是提示:

使用者 'sa' 登入失敗。

另這個許可權問題雖然以windows/temp目錄設定了IIS_IUSRS 修改許可權而解決。但是我又在我所在公司電腦上檢視,IIS_IUSRS 在windows/temp 上是沒有任何許可權的。但是公司電腦沒這個問題。也只能歸結為兩臺電腦可能是windows環境不同,雖然都是win7 64位作業系統。

由於提示是sa登入失敗,這是sqlserver問題,開啟sqlserver,經過檢視,是sa帳號被禁用,改為啟用。重新整理,仍然提示使用者sa登入失敗。然後在網上查詢,還有一個地方的設定也可能導致此問題。就是sqlserver的伺服器屬性中,伺服器身份驗證需要是sqlserver 和windows身份驗證這種混合模式。查了下我電腦的伺服器屬性,還真是,我的伺服器身份驗證方式選擇的是windows身份驗證。於是更改這裡,更改後如下:


這提示的很清楚。於是win+R調出執行框,輸入:services.msg調出window 服務介面,找到sqlserver 服務,停止,然後再啟動。再次重新整理網站,這次終於看到了網站的首頁介面,沒有錯誤了。

總結,由於電腦出問題後,我的鍵盤不能使用,是讓電腦維修的人來重灌的系統。他們都是使用的ghost映象安裝。而且為了安裝的快速,都是使用的閹割版,因此造成了此次問題。這次是沒辦法,下次不會再讓他們裝這種系統了。真坑,各種問題