Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

I've got rewrite module working great for my IIS7.5 site.

Now, I wish to add a number of urls that all goto an HTTP 410-Gone status.

Eg.

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

but that's invalid - the website doesn't start saying there's a rewrite config error.

Is there another way I can do this? I don't particularly want define a single URL and ACTION for each url.

share|improve this question
add comment

1 Answer

up vote 3 down vote accepted

You need to match every request, and then use conditions to filter it to just your specific URLs:

<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>
share|improve this answer
    
Brilliant :) thanks mate :) Now that every request is caught, I need to be wary of load/perf if we reach that problem. Ta! –  Pure.Krome Dec 4 '12 at 1:45
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.