2012-04-16 59 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