Add custom header based on file type

We are trying to add a custom header (X-Robots-Tag) for sitemap files in IIS 7.5. However, it does not appear that IIS supports custom headers based on a file type or wildcard (only subfolders).

Can we add a custom header for only *.xml.gz files via Web.config?

We would like to avoid making the customization via code or on our load balancer.


You can use the IIS UrlRewrite module and add a custom outbound rule to configure the custom header. Here is a sample rule you may want to use:

  <system.webServer>
    <rewrite>
      <outboundRules>
        <rule name="Set custom HTTP response header">
          <match serverVariable="RESPONSE_X_Robots_Tag" pattern=".*" />
          <conditions>
            <add input="{REQUEST_URI}" pattern="\.xml\.gz$" />
          </conditions>
          <action type="Rewrite" value="The value you need for this header"/>
        </rule>
      </outboundRules>
    </rewrite>
  </system.webServer>

More info: UrlRewrite documentation