ASP.NET 4 MVC 2 佈署到 IIS 7.5 問題 (2) v2

ASP.NET 4 MVC 佈署到 IIS 7.5 問題總整理 (2)

錯誤 1

HTTP 錯誤 404.3 - Not Found

因為網頁伺服器上設定的多用途網際網路郵件延伸標準 (MIME) 對應原則,而無法提供您要求的網頁。如果此網頁為指令碼,請新增處理常式,而且如果它是應該要下載的檔案,請新增 MIME 對應。

image

解法

這有可能是因為 使用 MVC 2 且 沒有用到 HttpContext ,但佈署到 IIS 7.5 沒有用「整合式」所導致的錯誤。

只要改回成 「整合式」就可以了!

http://boardreader.com/thread/MVC_doesnt_work_once_is_published_in_the_a39oXwrgo.html

20121225 update

image
另外請再檢查是否有 ASP.NET v4.0 的Application Pool ,若沒有的話就代表 IIS 並沒有註冊 Framework 4


image
重新註冊的語法

「CD c:\windows\microsoft.NET\Framework\v4.0.30128」

「ASPNET_Regiis.exe -iru」

其他注意事項

當用 開發工具 直接去拉 「圖片」或「 js」到網頁時,都會用 「相對路徑」 ex..  /image/xx.jpg  。往往佈署到 IIS 7.5 上,因為 Url Route 的關係,導致 相對路徑可能無法正常運作。 所以建議還是都用 「絕對路徑」 ( 這是指 在 view 的頁面上 ) 

另外 ~/image/xx.jpg   可能也是蠻多人會直接這麼用,但小弟在實際佈署時也是會遇到指定路徑錯誤的問題。即使搭配 url.resolve 也沒用 Orz 。

若 有網頁不透過 MVC 的 Url Route 的話! 就還是透過 「相對路徑」 ( 但 請注意 下一層的話請用 ./  、上一層請用 ../ )

請改用 Url.Content 的方式!

供參考 小弟之前佈署時遇到的問題,以及 小弟的解法