錯誤摘要HTTP 錯誤 500.19 - Internal Server Error 無法訪問請求的頁面,因為該頁的相關配置數據無效。


iis運行出錯 大部分是沒有安裝.net 4.0

如題,這個錯誤google時一大堆各種各樣的解決辦法,但具體原因就沒怎么詳細介紹,

404.2就一個http status code, 在msdn上說:404.2 - ISAPI or CGI restriction  即IIS里的“ISAPI 或CGI 限制” 的配置有問題,

      “ISAPI” 是供IIS加載和調用的DLL, 如果沒配置相關的ISAPI,就無法正確地解釋網頁的內容,

之所以會拋出后面“請求的內容似乎是腳本,因而將無法由靜態文件處理程序來處理”的錯誤信息,極有可能是沒配置相關ISAPI對頁面進行解釋,導致IIS默認把頁面當作靜態文件來解釋,所以出錯,

比如:用net4.0來開發的網站,但ISAPI沒配置有"ASP.Net_4.0_32bit"的DLL來對頁面程序進行托管,那么IIS肯定無法正確的運行aspx里的C#代碼,

 

解決方案:

1)先確認網站是基於那個netframework; 

2)  然后到“應用程序池”里找網站對應的應用程序池(右擊網站-> 高級設置),雙擊程序池, 看程序池是否也網站的net framework版本相同,

注意:net2.0,net3.0,net3.5對應的net framework版本都是v2.0.50727,而net4.0則基於v4.0.30319

3)  右擊網站對應的 ”應用程序池 -> 高級設置“ 看”啟用32位應用程序“,如果網站是以32編譯的就要設為true, 否則為false, 一般都是32編譯的,所以都選為true;

4) 如果上面的配置都沒錯,那就到問題的本質部分,即ISAPI的配置:

a.選中網站->功能視圖-> 雙擊 ISAPI篩選器;

b.查看是否有與網站所基於的framework 對應的DLL,  net2.0,3.0,3.5對應的DLL是ASP.Net_2.0.50727.0, net4.0是ASP.Net_4.0_32bit或ASP.Net_4.0_64bit;

c.若沒有對應的DLL,有可能是沒裝好IIS,即漏掉了東西,如果不知選擇裝哪些部分,就應該完整的把整個IIS裝完;

5)如果裝了vs再裝iis必須得對net framework 重裝一次, 運行cmd,輸入:

C:\Windows\Microsoft.NET\Framework\V4.0.30319\aspnet_regiis -i     

注:C:\Windows\Microsoft.NET\Framework\V4.0.30319\   是 netframework安裝對應的路徑;

如下圖:


6)重啟一下iis, 理論上應可以解決導致404.2 not found 的大部分問題了;


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM