2011-04-06 73 views
5

我有一個.NET網站,我打算將其關閉,並計劃使用web.config中的重寫規則將所有請求重定向到「www.mysite.com」。應該是一個簡單的任務,但事實並非如此。我已經刪除從文件系統中的所有內容,除了一個Default.aspx頁面,並用以下重寫規則默認的web.config:使用IIS7 URL重寫來重定向所有請求

<rule name="Redirect All" stopProcessing="true"> 
    <match url="^(www\.)?mysite\.com(/.+)$" /> 
    <action type="Redirect" url="www.mysite.com" appendQueryString="false" /> 
</rule> 

如果我要求www.mysite.com/garbage.aspx服務器仍在嘗試查找garbage.aspx或我提供的任何其他url,就像重寫規則不存在一樣。 非常令人沮喪。想法?

回答

5

是否要將所有請求重定向到您的新網站?如果是這樣,這應該這樣做:

<match url=".*" /> 
+0

上面的正則表達式不應該有效地完成相同的事情,因爲所有的請求將是mysite.com中的某個頁面?對於規範的URL,我有類似的規則可以正常工作。我真的不知道我在搞什麼。 – joelmdev 2011-04-07 14:11:04

+0

我遠離正則表達式專家,但我認爲它與正則表達式中的分組以及IIS重寫器使用它們的方式有關。當你嘗試我提供的正則表達式時會發生什麼?對不起,我不能對這個特別的評論更有幫助。 – Matt 2011-04-07 15:32:20

+0

我結束了重定向到一個不同的網站,在這種情況下你的解決方案就像一個魅力。不過,我想我必須添加一條規則來否定內部鏈接,否則重定向規則會循環......我認爲我也必須對原始規則進行處理。感謝你的協助。 – joelmdev 2011-04-08 18:05:41