IIS URL重写模块:重写追加QueryString

时间:2010-03-06 16:29:47

标签: asp.net iis url-rewriting

我有以下重写规则。

 <rule name="cheapbastardz.signupcode" stopProcessing="true">
     <match url="^signup/code/([_0-9a-z-%=\+\$]*)$" />
     <conditions>
     </conditions>
     <action type="Rewrite" url="Page.aspx?sc={R:1}" appendQueryString="false" />
 </rule>

现在,当用户点击页面发布的按钮时,网址会从

更改

http://localhost/CBAanmelding/signup/code/3f69fa28-5c6c-4815-a2b3-3c846651bed9

http://localhost/CBAanmelding/signup/code/3f69fa28-5c6c-4815-a2b3-3c846651bed9?sc=3f69fa28-5c6c-4815-a2b3-3c846651bed9

我不希望出现查询字符串。我怎么能阻止这个。提前谢谢。

的Gr

马亭

2 个答案:

答案 0 :(得分:0)

你确定你的规则正在解雇吗?

匹配模式似乎不适合传入的URL。传入的URL以/CBAanmelding开头,而您的模式查找带注册的bbegin的URL。单词signup之前的回旋是零宽度断言,模式仅匹配URL的开头。

也许你需要改变模式?

 <rule name="cheapbastardz.signupcode" stopProcessing="true">
     <match url="^CBAanmelding/signup/code/([_0-9a-z-%=\+\$]*)$" />
     <conditions>
     </conditions>
     <action type="Rewrite" url="Page.aspx?sc={R:1}" appendQueryString="false" />
 </rule>

答案 1 :(得分:0)

使用

  

form1.Action = Request.RawUrl;