2009-10-21 31 views
11

Vì vậy, trang web tôi đang làm việc đang sử dụng urlrewriting phối hợp với aspnet_isapi.dll (mọi thứ được ánh xạ tới nó). Tôi đặt lên tệp app_offline.htm của mình và tất cả các chương trình văn bản, tuy nhiên, CSS hoặc hình ảnh không được phân phối. Tôi đoán họ đang được xử lý bởi ASP.NET do ánh xạ ký tự đại diện thay vì IIS. Điều này có đúng không? Nếu vậy, làm thế nào tôi có thể cho phép IIS để phục vụ các tập tin này? Bên cạnh đó, một vấn đề tôi có thể thấy arising..in web.config cho các cài đặt Ổ ghi:App_offline.htm, CSS, hình ảnh và aspnet_isapi.dll

<rewrite url="^~/images/network/(.*)/(.*).jpg$" to="~/services/ImageHandler.ashx?type=$1&amp;id=$2"/> 
    <rewrite url="^~/image/view/(.*).jpg$" to="~/ServePRView.aspx?id=$1"/> 
    <rewrite url="^~/asset/view/(.*).jpg$" to="~/services/ImageHandler.ashx?id=$1&amp;type=asset"/> 

Thanks for the help tất cả, -Steve

+1

người đàn ông ... đây là vấn đề chính xác mà tôi đang gặp phải ... và chưa có câu trả lời: ( – Miles

Trả lời

17

Nó bởi vì nếu máy chủ web thấy một app_offline.htm tập tin, nó phục vụ tập tin đó cho mọi yêu cầu trong trang web - ngay cả hình ảnh. Bạn phải phục vụ hình ảnh từ một trang web khác. Hoặc bạn có thể thử một cái gì đó như thế này http://en.wikipedia.org/wiki/Data_URI_scheme

0

@JeremyWeir là chính xác. IIS ngừng phục vụ nguồn phụ trong prescense của app_offline.htm Một khoảng cách này là để nhúng nội dung trong trang trực tiếp bằng cách sử dụng:

1) Encode Images inside Html 2) Internal Style Sheets 3) tương tự cho javascript của bạn

Đây không phải là cách dễ nhất để duy trì nhưng nó cho phép bạn kiểm soát sự xuất hiện của nội dung được hiển thị trên trang.

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