У меня есть модуль перезаписи, отлично работающий на моем сайте IIS7.5.
Теперь я хочу добавить несколько URL-адресов, которые все переходят в статус HTTP 410-Gone.
Например.
<rule name="Old Site = image1" patternSyntax="ExactMatch" stopProcessing="true">
<match url="image/loading_large.gif"/>
<match url="image/aaa.gif"/>
<match url="image/bbb.gif"/>
<match url="image/ccc.gif"/>
<action type="CustomResponse" statusCode="410"
statusReason="Gone"
statusDescription="The requested resource is no longer available" />
</rule>
но это неверно - веб-сайт не начинает сообщать об ошибке конфигурации перезаписи.
Есть ли другой способ сделать это? Я не особо хочу определять один URL и ДЕЙСТВИЕ для каждый URL.
Вам нужно соответствовать каждый запрос, а затем используйте условия для фильтрации его только по вашим конкретным URL:
<rule name="Old Site = Image1" stopProcessing="true">
<match url="^(.*)$" />
<conditions logicalGrouping="MatchAny">
<add input="{REQUEST_URI}" pattern="^(.*)image/aaa.gif$" />
<add input="{REQUEST_URI}" pattern="^(.*)image/bbb.gif$" />
<add input="{REQUEST_URI}" pattern="^(.*)image/ccc.gif$" />
</conditions>
<action type="CustomResponse" statusCode="410" statusReason="Gone" statusDescription="The requested resource is no longer available" />
</rule>
если вы хотите удалить несколько изображений .gif из папки изображений, вы также можете использовать регулярное выражение с подстановочными знаками (. *), как показано ниже.
например.
<rule name="Old Site = Image1" stopProcessing="true">
<match url="^(.*)$" />
<conditions logicalGrouping="MatchAny">
<add input="{REQUEST_URI}" pattern="^(.*)image/(.*).gif$" />
</conditions>
<action type="CustomResponse" statusCode="410" statusReason="Gone" statusDescription="The requested resource is no longer available" />