App_offline.htm, CSS, изображения и aspnet_isapi.dll - PullRequest
12 голосов
/ 21 октября 2009

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

<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"/>

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

Ответы [ 2 ]

19 голосов
/ 07 января 2010

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

1 голос
/ 14 ноября 2017

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

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

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

...