HTTP 錯誤 404.17:請求的內容似乎是腳本,因而將無法由靜態文件處理程序來處理。

作者:vkvi 來源:千一網絡(原創) 日期:2017-2-15

HTTP 錯誤 404.17 - Not Found
請求的內容似乎是腳本,因而將無法由靜態文件處理程序來處理。

最可能的原因:
請求與通配符 mime 映射相匹配。請求映射到靜態文件處理程序。如果有不同的前提條件,請求將映射到另一個處理程序。

在訪問 ASP.NET 網頁時出現如上提示,打開 IIS,檢查如下幾項:

IIS

“MIME 類型”中缺少 .aspx 倒是正常的,因為我對照了其他正常服務器也是這樣。

“處理程序映射”中 *.aspx 的路徑類型是未指定,也是正常的,因為我對照了其他正常服務器也是這樣。

倒是“ISAPI 和 CGI 限制”、“ISAPI 篩選器”只有 .NET 2.0,我就照著別的服務器添加上了 4.0 版本(我的 web.config 中配置的是 4.5 版本,但是 IIS 中配置 4.0 版本即可,就像我們 web.config 中配置的是 3.5 版本,IIS 中配置 2.0 版本即可一樣),可是還是不行。

我就下載新的 .NET 4.5,安裝卻提示“您的計算機中已經安裝了 .NET Framework 4.5 和此更新。”

我又從控制面板“卸載程序”中卸載所有的 .NET 版本,然后安裝,仍然提示依舊。

我又從“啟用和關閉 Windows 功能”中卸載,然后安裝,仍然提示依舊。(我很想不通的是:為什么“卸載程序”和“啟用和關閉 Windows 功能”都有相同的 .NET 版本,感覺它們像是在不同的地方安裝了 2 份一樣。)

沒辦法,于是又從“啟用和關閉 Windows 功能”中安裝回去,還是不行。

最后發現一個地方漏了:

“啟用和關閉 Windows 功能”->“Internet Information Services”->“萬維網服務”->“應用程序開發功能”。

IIS

成功了!!!

但是問題又來了,由于前面在控制面板中刪除了大量的 .NET 版本,用 Visual Studio 打開項目時,出現如下提示:

Visual Studio 的 .NET 版本不對

如果不想升級,就下載 .NET 版本,打開網址:https://www.microsoft.com/net/targeting。

下載下來安裝后,卻提示已經安裝了高版本,低版本無法安裝。痛苦。好吧,那就改為 4.5.2 吧。

坑爹的是,Visual Studio 編譯項目的時候居然說 4.5.2 也沒有,編譯不了。瘋了。原來 Visual Studio 提示由 4.5 變更到 4.5.2 并不是因為我有沒有 4.5.2,而是因為官方不再支持 < 4.5.2 的版本了,這邏輯……

檢查 Visual Studio 的項目屬性中,目標框架最高是 3.5(再次印證“啟用和關閉 Windows 功能”中的 .NET 跟這里沒有關系,也許那里只是 ASP.NET,這里是 .NET Framework?)。惹毛了,安裝最新版本 4.6.2,把 Visual Studio 中的所有項目所有地方改為 4.6.2,這下終于徹底解決了。

相關文章
文章評論
最新22选5开奖公告