IIS在Rewrite中使用QueryString重写规则

时间:2012-03-16 12:16:55

标签: iis mod-rewrite url-rewriting

我遇到了IIS重写规则的问题。我们有很多设置和工作在我们的web.config文件中。我试图修改其中一个。对此问题的级别表示歉意。我对这个话题没有经验。

目前的规则是:

<rule name="my-rule-test" stopProcessing="true">
  <match url="^my-page.asp" />
  <action type="Rewrite" url="/my-domain/my-actual-page.asp" />
</rule>  

此规则正常。我现在只想将一个QueryString添加到Rewrite页面,如下所示:

<rule name="my-rule-test" stopProcessing="true">
  <match url="^my-page.asp" />
  <action type="Rewrite" url="/my-domain/my-actual-page.asp?aS=h" />
</rule>  

此规则失败,并将服务器跳转到我们在web.config中设置的页面:

<system.web>
    <customErrors defaultRedirect="c:\test.html" mode="On">
    </customErrors>
</system.web>

有人可以让我知道我做错了吗?

谢谢,

Ĵ

1 个答案:

答案 0 :(得分:0)

您的格式不正确:请参阅此内容。

<rules>
      <rule name="Remove trailing slash" stopProcessing="true">
        <match url="(.*)/$" />
        <conditions>
          <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
          <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
        </conditions>
        <action type="Redirect" redirectType="Permanent" url="{R:1}" />
      </rule>