2010-09-15 32 views
15

Thử nghiệm ghi đè URL bằng mô-đun này, tuy nhiên tôi nhận được lỗi sau khi cố truy cập URL. Nhìn trực tuyến cho câu trả lời, nhưng không chắc chắn cách tốt nhất để có được xung quanh này là .... bất kỳ ý tưởng ??URL ghi lại các quy tắc gửi đi IIS7

Lỗi HTTP 500.52 - Lỗi ghi đè URL mô-đun. Quy tắc ghi lại gửi đi không thể được áp dụng khi nội dung của phản hồi HTTP được mã hóa ("gzip"). **

IIS đã nhận được yêu cầu; tuy nhiên, đã xảy ra lỗi nội bộ trong quá trình xử lý yêu cầu. Nguyên nhân gốc của lỗi này phụ thuộc vào mô-đun nào xử lý yêu cầu và điều gì đã xảy ra trong quy trình công nhân khi lỗi này xảy ra.

IIS không thể truy cập tệp web.config cho trang web hoặc ứng dụng. Điều này có thể xảy ra nếu các quyền NTFS được đặt không chính xác.

IIS không thể xử lý cấu hình cho trang web hoặc ứng dụng.

Người dùng được xác thực không được phép sử dụng tệp DLL này.

Yêu cầu được ánh xạ tới trình xử lý được quản lý nhưng tính năng Mở rộng .NET chưa được cài đặt.

Trả lời

6

Đây là thiết kế, có nghĩa là HTML đã được nén khi nó có sẵn cho mô-đun Rewrite URL, vì vậy nó không thể viết lại vì nó sẽ phải giải nén nó trước, viết lại và sau đó nén nó một lần nữa và đó là quá nhiều sức mạnh xử lý. Nếu đó là nội dung động, hãy thử viết lại trước khi nén.

Di chuyển mô-đun nén động sau mô-đun URL ghi đè trong "Mô-đun" ở cấp máy chủ (InetMgr). Vô hiệu hóa "đăng nhập URL" cho quy tắc (mặc định), nếu không mô-đun sẽ cố gắng là người cuối cùng trong đường ống.

Nén tĩnh không tương thích với ghi đè ra bên ngoài.

15

Tôi đã thử các nhận xét của aracntido, nhưng nó dường như không hoạt động trong IIS7. Nó hoạt động tốt trên các máy chủ với IIS7.5, vì vậy tôi không chắc chắn liệu có một công việc xung quanh.

Việc sửa chữa là sử dụng này trong web.config:

<system.webServer> 
    <urlCompression doStaticCompression="false" doDynamicCompression="false" dynamicCompressionBeforeCache="false" /> 
</system.webServer> 
+2

Cảm ơn bạn đã cho chúng tôi biết cách định cấu hình điều này ở cấp trang web. Thay đổi toàn bộ máy chủ không phải là điều tôi rất vui mừng. –

0

Tắt nén tĩnh (không cần thiết cho hoàn cảnh của tôi) trong IIS 7.0 khắc phục sự cố tương tự nơi URL sẽ tải nhưng phải refresh lại trang sẽ tạo ra một lỗi cơ bản 500.

Tôi đã thêm index.html vào URL và điều này đã tinh chỉnh lỗi thành 'Lỗi HTTP 500.52 - Lỗi mô-đun URL ghi đè. Không thể áp dụng quy tắc ghi lại gửi đi khi nội dung của phản hồi HTTP được mã hóa ("gzip") '.

Nhờ aracntido để chỉ ra điều này, bạn đã giúp tôi giải quyết vấn đề.

1

Mặc dù tắt tính năng nén tĩnh và động hoạt động độc đáo nhưng phương pháp này không hoạt động với các tệp *.axd. Các tệp này là tài nguyên phía máy khách, như js, Ajax, v.v. Đọc thêm về các tệp axd HERE.

Vì tệp này được nén tự động. Đọc thêm HERE thêm về lý do tại sao!

Cách dễ dàng hơn để làm cho chúng hoạt động là gửi yêu cầu với tiêu đề thiết lập Accept-Encoding để trống! Điều này có thể theo hai cách:

  1. [BAD] thay đổi firefox của bạn thiết lập HOW?
  2. [Nice] thiết lập một rule gửi đến để xóa Accept-Encoding trong tiêu đề! HOW?
Các vấn đề liên quan