2010-03-06 122 views
2

我有以下重写规则。IIS URL重写模块:重写附加QueryString

<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

的Martijn

+0

更好的问在serverfault.com上,或者试试iis.net上的论坛 – Cheeso 2010-03-07 14:34:28

回答

0

你确定你的规则射击?

匹配模式似乎并不适合进入的网址。传入的网址以/CBAanmelding开头,而您的模式则会查找带注册的网址。 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> 
+0

我确定它正在发射。这只是虚拟应用程序目录。它不看那部分。我认为这个问题不符合规则,只是回传附加了sc密钥。 – 2010-03-11 11:07:55

+0

我在您的重写URL中看不到Page.aspx。这让我怀疑它是否正在发射。 – Cheeso 2010-03-11 13:28:16

0

使用

form1.Action = Request.RawUrl;