Вопрос

Итак, сайт, над которым я работаю, использует urlrewriting в координации с aspnet_isapi.dll (все сопоставлено с ним). Я поднял свой файл app_offline.htm, и весь текст показывает, однако, CSS или изображения не обслуживаются. Я предполагаю, что они обрабатываются ASP.NET из-за сопоставления подстановочных знаков вместо IIS. Это правильно? Если да, как я могу разрешить IIS обслуживать эти файлы? Кроме того, я вижу проблему, возникающую в файле web.config для настроек устройства записи:

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

Спасибо за помощь всем, -Стив

Это было полезно?

Решение

Это потому, что если веб-сервер видит файл App_Offline.htm, он обслуживает этот файл для каждого запроса на сайте - даже для изображений. Вы должны обслуживать изображения с другого сайта. Или вы можете попробовать что-то вроде этого http://en.wikipedia.org/wiki/Data_URI_scheme

Другие советы

@JeremyWeir правильно. IIS перестает обслуживать подресурсы в приложении app_offline.htm. Чтобы обойти это, нужно встроить содержимое на страницу напрямую, используя:

1) Кодировать изображения внутри HTML 2) внутренние таблицы стилей 3) то же самое для вашего JavaScript

Это не просто в обслуживании, но оно дает вам контроль над внешним видом контента, отображаемого на странице.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top