2012-04-16 68 views
0

我有這個簡單的重寫,但出於某種原因,我不能工作了,爲什麼它不工作:IIS7 URL重寫 - 爲什麼這不工作?

<system.webServer> 
    <rewrite> 
    <rules> 
     <rule name="men-s-watches" stopProcessing="true"> 
     <match url="(.*)/men-s-watches(.*)" /> 
     <action type="Redirect" url="{R:1}/mens-watches" appendQueryString="false" /> 
     </rule> 
    </rules> 
    </rewrite> 
</system.webServer> 

希望有人能指出我的錯誤小白。

回答

1

通常在IIS7中使用url重寫模塊,您可以像這樣分配規則。

<system.webServer> 
    <rewrite> 
    <rewriteMaps> 
     <rewriteMap name="usr_rule"> 
    </rewriteMap> 
    </rewriteMaps> 
    <rules> 
    <rule name="men-s-watches"> 
     <match url="^([0-9]+)/men-s-watches/([0-9]+)" /> 
     <action type="Rewrite" url="men-s-watches/default.aspx?id={R:1}&amp;p={R:2}" /> 
    </rule> 
    </rules> 
    </rewrite> 
</system.webServer> 
+0

我很確定我的匹配網址是正確的,測試模式工具說它是完美的。我對任何查詢字符串信息都不感興趣,這只是一個全面的類別,以避免404站點重建後 - 從magento移植到asp.net mvc。 – Jordan 2012-04-16 20:14:19

+0

好吧我測試了你的規則,它的正確,善意地提供示例url和重寫url來檢查你的模式。 – irfanmcsd 2012-04-16 20:20:47

+0

www.anydomain.com/men-s-watches應重定向到www.anydomain.com/men-watches – Jordan 2012-04-16 20:48:58