Как перенаправить запросы изображений в другую папку, используя urlrewriting.net - PullRequest
2 голосов
/ 24 января 2010

Я использую urlrewriting.net для перенаправления запроса изображения каскадной таблицы стилей. Я безуспешно пытался это сделать. Вот переписать я добавил:

<add name="reportImagesRedirect"
                    virtualUrl="^~/estadisticas/(.*).png"
                    rewriteUrlParameter="ExcludeFromClientQueryString"
                    destinationUrl="~/images/$1"
                    ignoreCase="true" />

Я хотел бы знать, если что-то не так с этим. Я пытаюсь связать все запросы HTTP get, сделанные в одну папку, чтобы перенаправить в папку изображений. Так, например, когда я делаю запрос, как это

http://localhost:8080/estadisticas/spines.png

Я хочу, чтобы веб-сервер посмотрел изображение в

http://localhost:8080/images/spines.png

Ответы [ 2 ]

1 голос
/ 24 января 2010

Вам нужно перевернуть его.

<add name="reportImagesRedirect"
                destinationUrl="~/images/$1.png"
                rewriteUrlParameter="ExcludeFromClientQueryString"
                virtualUrl="^~/estadisticas/(.+).png$"
                ignoreCase="true" />

Здесь - небольшая статья, которую я написал об использовании UrlRewriting.Net для URL без расширений.

РЕДАКТИРОВАТЬ: я немного изменил параметры. если вы сохраняете расширения, у вас должен быть .png в конце как виртуального, так и конечного пункта

РЕДАКТИРОВАТЬ: Вам также может потребоваться внести следующие изменения в тег system.webServer

<system.webServer>
     <modules runAllManagedModulesForAllRequests="true">
     </modules>
</system.webServer>
0 голосов
/ 24 января 2010

Возможно, вам потребуется настроить сопоставление с подстановочными знаками . IIS не будет пересылать запросы на что-либо, кроме файлов ASP.NET (.aspx, .asmx, .axd, .ashx и т. Д.) В обработчик ASP.NET по умолчанию. Так как ваш перезаписчик работает в обработчике ASP.NET, запрос на изображение никогда не достигнет его. Добавление сопоставления с подстановочными знаками вынуждает IIS позволить ASP.NET (и, следовательно, обработчику перезаписи) обрабатывать все запросы, включая изображения.

...