2010-11-09 35 views
6

Tôi có ứng dụng web .net 4.0 được lưu trữ trên máy chủ IIS7.Quy tắc ghi lại URL IIS 7 không được áp dụng

Sau khi đọc nội dung này: http://learn.iis.net/page.aspx/496/iis-url-rewriting-and-aspnet-routing/ về phân phối nội dung tĩnh từ máy chủ khác, để cookie không được gửi cùng với mọi yêu cầu cho tệp tĩnh, tôi đã dùng thử nhưng không thành công nhiều.

Đây là phần được viết trong file web.config:

<system.webServer> 
    <rewrite> 
     <rules> 
      <rule name="images" stopProcessing="true"> 
       <match url="^images/(.*)$" /> 
       <action type="Rewrite" url="http://static-server.com/images/{R:1}" appendQueryString="true" logRewrittenUrl="true" /> 
      </rule> 
     </rules> 
    </rewrite> 
</system.webServer> 

Với quy tắc này xác định, mỗi liên kết đến một tập tin trong thư mục hình ảnh nên được rewriten vào URL tĩnh-server. Nhưng điều này không làm việc gì cả, bây giờ mọi hình ảnh trong thư mục hình ảnh đều trả về 404 không tìm thấy. Bất kỳ ý tưởng nào về việc có thể gây ra hành vi này hoặc giải pháp khác về cách phân phối tệp từ một thư mục cụ thể từ một máy chủ khác mà không phải đi máng tấn và thay đổi tất cả các liên kết để liên kết với máy chủ tĩnh?

Tôi cũng thử sử dụng loại hành động Chuyển hướng thay vì tác vụ Viết lại, thực tế đã hoạt động, nhưng nó không rõ lý do tại sao tôi đang cố gắng phân phát tệp trên máy chủ khác (theo cách này, yêu cầu được gửi đến máy chủ nội dung động với tất cả các cookie được yêu cầu và được chuyển hướng đến máy chủ tĩnh thực sự tệ hơn việc phân phối hình ảnh từ máy chủ nội dung động).

Trả lời

2

Tôi không nghĩ rằng quy tắc đó sẽ giải quyết vấn đề này cho bạn. Nó có thể không viết lại các liên kết trong các trang được gửi tới người dùng.

Bài viết bạn đã liên kết đề xuất rằng bạn thực hiện việc này "cùng với IIS Application Request Routing module". Đó là mô-đun định tuyến thực sự thay đổi các liên kết trong các tệp được gửi tới máy khách.

+0

Tôi đã cài đặt mô-đun 'Định tuyến yêu cầu ứng dụng' sau http://learn.iis.net/page.aspx/485/define-and-configure-an-application-request-routing-server-farm/ từng bước và http://learn.iis.net/page.aspx/484/configure-3-tier-deployment-architecture-using-application-request-routing/ không có kết quả tích cực. Chỉ sau đó tôi không nhận được một 404 nhưng một 500. Có lẽ cái gì là sai với cách im cấu hình các mô-đun ARR? – Atzoya

+0

Lỗi 500 tất cả là gì (kiểm tra nhật ký) –

+0

Đó chắc chắn là mô-đun ARR đang gây ra sự cố, nhưng tôi không thể định cấu hình nó. Đã quyết định đi với một cách tiếp cận khác nhau (bằng tay thay đổi đường dẫn của một số các nguồn lực cần thiết) cho đến khi tôi tìm hiểu làm thế nào để cấu hình đúng mô-đun. Khi tôi tìm hiểu nguyên nhân gây ra sự cố, tôi sẽ cập nhật bài đăng của mình với những gì tôi đã làm. – Atzoya

Các vấn đề liên quan