Asp.net Urlrewritingnet在同一url上编写多个规则

Asp.net Urlrewritingnet在同一url上编写多个规则,asp.net,urlrewriting.net,Asp.net,Urlrewriting.net,这是我的URLRewitingNet配置文件: <urlrewritingnet xmlns="http://www.urlrewriting.net/schemas/config/2006/07"> <rewrites> <add name="paginazioneLibri" virtualUrl="^~/home/library/(.[0-9]*){1,3}" rewriteUrlParameter="ExcludeFromClientQu

这是我的URLRewitingNet配置文件:

<urlrewritingnet xmlns="http://www.urlrewriting.net/schemas/config/2006/07">
<rewrites>      
    <add name="paginazioneLibri" virtualUrl="^~/home/library/(.[0-9]*){1,3}" rewriteUrlParameter="ExcludeFromClientQueryString" destinationUrl="~/home/library?page=$1" ignoreCase="true" redirectMode="Permanent" />
    <add name="categorieLibri" virtualUrl="^~/home/library/category/(.[0-9]*)" rewriteUrlParameter="ExcludeFromClientQueryString" destinationUrl="~/home/library?cat=$2" ignoreCase="true" redirectMode="Permanent" />              
</rewrites>


正如你所看到的,我有两个不同的规则影响同一个URL。基本上,第二个条件根本不起作用。是否可以将不同的规则关联到同一url?

尝试如下切换:

<rewrites>      
    <add name="categorieLibri" virtualUrl="^~/home/library/category/(.[0-9]*)" rewriteUrlParameter="ExcludeFromClientQueryString" destinationUrl="~/home/library?cat=$2" ignoreCase="true" redirectMode="Permanent" />
    <add name="paginazioneLibri" virtualUrl="^~/home/library/(.[0-9]*){1,3}" rewriteUrlParameter="ExcludeFromClientQueryString" destinationUrl="~/home/library?page=$1" ignoreCase="true" redirectMode="Permanent" />              
</rewrites>


现在这两种方法都能起作用。

URL重写机制的全部目的是提高您的SEO排名和价值观。出于同样的SEO原因,你不应该在同一个页面上有多个URL。因为这将被标记为“重复内容”,你的网站将受到处罚。内容分页的链接没有索引,所以我可能没有关于搜索引擎优化的问题。但我知道为什么URLEwrite不起作用。