2012-01-12 80 views
0

工作,我需要創建這個301重定向規則: /blog/item.asp?n=12817重定向到/blog/item/12817301重定向不是在IIS 7

我創建了IIS URL規則重寫模塊與這些參數:

模式:^blog/item.asp\?n=([0-9]+)

重定向url:blog/item/{R:1}

當我在IIS中測試它工作正常,它在我的web.config中創建了這個規則:

<rule name="Asp classic Legacy 301 redirect" stopProcessing="true"> 
    <match url="^blog/item.asp\?n=([0-9]+)" /> 
    <action type="Redirect" url="blog/item/{R:1}" appendQueryString="true" /> 
</rule> 

但仍當我在瀏覽器中瀏覽到/blog/item.asp?n=12817它顯示我The resource cannot be found.錯誤文本Requested URL: /blog/item.asp

它爲什麼會這樣?我需要在其他地方切換別的東西嗎?

感謝

回答

2

好吧,我創建了工程的另一個規則:

<rule name="Asp classic legacy 301 redirect"> 
    <match url="blog/item\.asp$" /> 
    <conditions> 
     <add input="{QUERY_STRING}" pattern="n=(\d+)" /> 
    </conditions> 
    <action type="Redirect" url="blog/item/{C:1}" redirectType="Permanent" appendQueryString="false"/> 
</rule> 

仍然不知道爲什麼URL重寫模塊生成不工作規則?