2010-03-06 116 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;