.net 如何使用在umbraco的配置文件中写入的IIS规则重写URL?

.net 如何使用在umbraco的配置文件中写入的IIS规则重写URL?,.net,url-rewriting,rewrite,umbraco,umbraco7,.net,Url Rewriting,Rewrite,Umbraco,Umbraco7,我想使用配置文件中编写的规则进行URL重定向和重写,我使用的是Umbraco(CMS of.Net),下面是2个配置文件,分别是RewriteRules.config和UrlRewriting.config 我到底需要什么 我有一个类似的URL: 应该是: 或 应该是: 我想从URL中删除父节点,只显示显示正确页面内容的最后一个节点URL,但在我的情况下,它会给我404错误,该页面未找到 因此,我必须在配置文件中编写一些规则,将截断的URL路径重写为精确路径 请为我提供任何解决方案,谢谢

我想使用配置文件中编写的规则进行URL重定向和重写,我使用的是Umbraco(CMS of.Net),下面是2个配置文件,分别是RewriteRules.config和UrlRewriting.config

我到底需要什么

我有一个类似的URL:

应该是:

应该是:

我想从URL中删除父节点,只显示显示正确页面内容的最后一个节点URL,但在我的情况下,它会给我404错误,该页面未找到

因此,我必须在配置文件中编写一些规则,将截断的URL路径重写为精确路径


请为我提供任何解决方案,谢谢。

这两个可以通过添加UrlRewriting.config来满足您的需要:

<add name="FiveNodeRewriteRewrite"
  virtualUrl="^~/node1/node2/node3/node4/(.*)"
  rewriteUrlParameter="ExcludeFromClientQueryString"
  destinationUrl="~/$1"
  ignoreCase="true" />

<add name="FourNodeRewriteRewrite"
  virtualUrl="^~/node1/node2/node3/(.*)"
  rewriteUrlParameter="ExcludeFromClientQueryString"
  destinationUrl="~/$1"
  ignoreCase="true" />

这些是假设您的节点在示例中是静态命名的。如果您需要更具动态性的内容,可以使用以下示例:

<add name="FiveDynamicNodeRewriteRewrite"
  virtualUrl="^~/(.*)/(.*)/(.*)/(.*)/(.*)"
  rewriteUrlParameter="ExcludeFromClientQueryString"
  destinationUrl="~/$5"
  ignoreCase="true" />

 <add name="FourDynamicNodeRewriteRewrite"
      virtualUrl="^~/(.*)/(.*)/(.*)/(.*)"
      rewriteUrlParameter="ExcludeFromClientQueryString"
      destinationUrl="~/$4"
      ignoreCase="true" />

您是否能够包含以前尝试过的内容?