This Rule:
<rule name="404-Redirect" stopProcessing="true">
<match url=".*" />
<conditions>
<add input="{404-Static-Redirects:{REQUEST_URI}}" pattern="(.+)" />
</conditions>
<action type="Redirect" url="{C:1}" redirectType="Permanent" />
</rule>
Works on Vista x64 IIS7, but in Server 2008 x64 it responds with a 500.50, The parameter is incorrect. (0x80070057), The action's expression "{C:1}" is invalid. It does this for all requests to the website, even those not governed by the conditional match.
I can correct this by just using {C:0}, but the Rule Editor for the condition even shows that both {C:0} and {C:1} should be valid on the server manager for 2008.
Speculation: Based on previous forum postings I think there is a possiblity that this error may be do to the fact that there is only one condition? It is also the first rule in the rulesets, of which there are many that follow, if that is at all helpful.
Error information from the Failed Request Tracing:
MODULE_SET_RESPONSE_ERROR_STATUS
ModuleName: RewriteModule
Notification: 1
HttpStatus: 500
HttpReason: URL Rewrite Module Error.
HttpSubStatus: 50
ErrorCode: 2147942487
ConfigExceptionInfo:
Notification: BEGIN_REQUEST
ErrorCode: The parameter is incorrect. (0x80070057)
SET_RESPONSE_ERROR_DESCRIPTION
ErrorDescription: The action's expression "{C:1}" is invalid.
Both systems are using Version 7.1.0312.0 of the rewrite.dll