2012-07-03 19 views
9

Khi nhận được một hộp Windows 7 mới được cấu hình, tôi nhận thấy rằng ASP.NET đã bị tắt theo mặc định. Vì vậy, là ASP cổ điển. Tôi đã nhận được một lỗi 404.17 cho một ứng dụng web. Tôi nghĩ đó là vì tôi không có loại MIME "aspx". Mặc dù đó chỉ là một phỏng đoán. Khi tôi bật chúng trong Bảng điều khiển> Chương trình và tính năng> Bật hoặc tắt tính năng của Windows và khởi động lại máy tính Windows 7 của tôi, các loại MIME không bao giờ xuất hiện. Ai đó có thể kiểm tra loại MIME nào họ có cho các trang * .aspx và cho tôi biết cấu hình trong chế độ chỉnh sửa không? Tôi sẽ thiếu những loại MIME nào khác cho các phần mở rộng ASP.NET (ví dụ: ashx, asax, etc ...)? Cách tốt nhất để cấu hình tất cả là gì?Các loại MIME bị thiếu trong IIS 7 cho ASP.NET - 404.17

Error Summary 
    HTTP Error 404.17 - Not Found 
    The requested content appears to be script and will not be served by the static file handler. 

... 

Module: StaticFileModule 
Notification: ExecuteRequestHandler 
Handler: StaticFile 
Error Code: 0x80070032 
Requested URL: ... 
Physical Path: ... 
Logon Method: NTLM 
Logon User: {DOMAIN}\{WINDOWS LOGIN} 

... 

Most likely causes: 

The request matched a wildcard mime map. The request is mapped to the static file handler. If there were different pre-conditions, the request will map to a different handler. 

... 

Things you can try: 

If you want to serve this content as a static file, add an explicit MIME map. 

Trả lời

14

Fix:

tôi chọn "ISAPI & Hạn chế CGI" sau khi nhấp vào tên máy chủ (không phải là tên trang web) trong IIS Manager, và phải nhấn vào nút "ASP.NET v4 .0.30319 "dòng và chọn" Cho phép ".

Sau khi bật ASP.NET từ "Chương trình và tính năng> Bật hoặc tắt tính năng Windows", bạn phải cài đặt ASP.NET từ dấu nhắc lệnh Windows. Các kiểu MIME không bao giờ xuất hiện, nhưng sau khi thực hiện lệnh này, tôi nhận thấy các phần mở rộng này xuất hiện trong phần IIS Web site "Handler Mappings" của IIS Manager.

C:\>cd C:\Windows\Microsoft.NET\Framework64\v4.0.30319 

C:\Windows\Microsoft.NET\Framework64\v4.0.30319>dir aspnet_reg* 
Volume in drive C is Windows 
Volume Serial Number is 8EE6-5DD0 

Directory of C:\Windows\Microsoft.NET\Framework64\v4.0.30319 

03/18/2010 08:23 PM   19,296 aspnet_regbrowsers.exe 
03/18/2010 08:23 PM   36,696 aspnet_regiis.exe 
03/18/2010 08:23 PM   102,232 aspnet_regsql.exe 
       3 File(s)  158,224 bytes 
       0 Dir(s) 34,836,508,672 bytes free 

C:\Windows\Microsoft.NET\Framework64\v4.0.30319>aspnet_regiis.exe -i 
Start installing ASP.NET (4.0.30319). 
..... 
Finished installing ASP.NET (4.0.30319). 

C:\Windows\Microsoft.NET\Framework64\v4.0.30319> 

Tuy nhiên, tôi vẫn gặp lỗi này. Nhưng nếu bạn làm những gì tôi đã đề cập cho "Fix", điều này sẽ biến mất.

HTTP Error 404.2 - Not Found 
The page you are requesting cannot be served because of the ISAPI and CGI Restriction list settings on the Web server. 
+0

Bạn có thể liệt kê cài đặt IIS7 nào bạn đã bật không? –

+0

Bạn có yêu cầu cài đặt mà tôi thấy trong phần "Xử lý ánh xạ", được hiển thị sau khi chạy lệnh "aspnet_regiis.exe -i" không? Có một số (ví dụ: asmx, ashx, aspx, asax, vv ...) – MacGyver

+1

Trong Pa-nen Điều khiển, tôi đã chuyển đến "Chương trình & Tính năng> Bật hoặc tắt tính năng của Windows> Dịch vụ Thông tin Internet (IIS)> Dịch vụ Web Toàn cầu > Ứng dụng Phát triển Tính năng> ASP.NET "... trong số những người khác – MacGyver

1

Có hai lý do bạn có thể nhận được tin nhắn này:

  1. ASP.Net không được cấu hình. Đối với điều này chạy từ lệnh Administrator %FrameworkDir%\%FrameworkVersion%\aspnet_regiis -i. Đọc kỹ thông báo. Trên Windows8/IIS8 có thể nói rằng điều này không còn được hỗ trợ và bạn có thể phải sử dụng hộp thoại Bật/Tắt tính năng Windows trong Cài đặt/Gỡ cài đặt Chương trình trong Pa-nen Điều khiển.
  2. Một lý do khác có thể xảy ra là do Hồ bơi ứng dụng của bạn không được định cấu hình chính xác. Ví dụ, bạn tạo trang web cho WordPress và bạn cũng muốn ném vào một vài tệp aspx trong đó, WordPress tạo nhóm ứng dụng cho biết không chạy các công cụ CLR. Để khắc phục điều này, bạn chỉ cần mở App Pool và bật CLR.
Các vấn đề liên quan