IIS7 переписать файлы изображений - PullRequest
0 голосов
/ 09 апреля 2011

Мне интересно, возможно ли иметь правило перезаписи URL IIS7, которое выполняет что-то вроде этого. Когда кто-то идет на:

http://www.mydomain.com/images/0000022_0-Hello_World.jpeg

запросит файл по адресу: http://www.mydomain.com/images/0000022_0.jpeg

Я попытался создать правило для соответствия (. ) / images /(.) - (. *). Jpeg, а затем переписать его в {R: 1} / images / {R: 2 } .jpeg, но это не работает. Я просто получаю ошибку 404. Я также пытался добавить ISAPI Wildcard, но это ничего не изменило.

Я использую .net 4.0

Спасибо!

Ответы [ 3 ]

1 голос
/ 10 апреля 2011

Для этого вам не нужно добавлять подстановочный знак ISAPI, так как у вас есть расширение (.jpeg), поэтому он должен обрабатываться обработчиком StaticFile.

1 голос
/ 10 апреля 2011

Если вы используете IIS Manager (как в этой статье ):

Попробуйте создать правило rewrite , которое соответствует следующему шаблону (регулярные выражения):

^images/([0-9_]+)-.*\.jpeg$

Как Действие , выберите rewrite и заполните следующее rewrite Url :

images/{R:1}.jpeg

После этого никакое другое правило не должно выполняться (-> Остановить обработку последующих правил флажок)

0 голосов
/ 24 декабря 2015

Вы должны поставить это после других правил перезаписи, для виртуальных папок и т.д ..

<rule name="rule 1s" stopProcessing="true">
    <match url="\.(gif|jpe?g|png|bmp)"  ignoreCase="true" />
   <conditions>
       <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
   </conditions>
   <action type="Rewrite" url="//ressources/default.png"  />
</rule>
...