2012-03-16 21 views
2

我遇到了IIS重写规则的问题。我们有很多设置和工作在我们的web.config文件中。我正在尝试修改其中一个。道歉为这个问题的水平。我没有经历过这个话题。在重写中使用QueryString的IIS重写规则

目前的规则是:

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

此规则正常工作。现在我想简单的查询字符串添加到重写页面如下:

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

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

感谢,

Ĵ

回答

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> 

+0

您好,感谢张贴。我不确定我是否理解你的榜样,以及它与我的关系。我不想创建一个重定向,而是在单个文件上重写,结果位置携带一个硬编码的QueryString参数。 – 2012-03-16 13:01:58