在 Piranha Cms 中更改为无前缀时重定向旧网址

Redirect old urls when changing to prefixless in Piranha Cms

不幸的是,我有很多页面以“/home”作为前缀进行了 SEO 索引。 现在我需要在 Piranha 中更改为无前缀 url,这很容易。但是有没有我可以强制从旧网址重定向到新网址的地方? 例如。将 "www.example.com/home/page" 重定向到 "www.example.com/page"。问题是旧页面不再存在,所以我无法在该页面上放置脚本来进行重定向。 最好的祝福 丹麦拉尔斯

我认为最好的方法是使用url重写模块(需要从网络平台安装)。 在 web.config 中,您可以将重写规则附加到 system.webServer => 重写 => 规则。

我不会测试它,但它应该是这样的:

<system.webserver>
 <rewrite>
  <rules>
   <rule name="RedirectToPrefixless" stopProcessing="true">
    <match url="^home/(.*)" />
    <action type="Redirect" url="{R:1}" />
   </rule>
  </rules>
 </rewrite>
</system.webserver>

标签 "match" 找到以 "home/" 开头的 url - 正则表达式“(.*)”的一部分创建将在重定向中使用的组 url

标签 "action" 声明,为了匹配 URL 它应该从 "match" 部分重定向到“(.*)”部分。

例如:

  • /home/test1 重定向到 /test1
  • /home/test2?page=22 重定向到 /test2?page=23

所有重定向都是 "Permanent"(http 状态 301)- 也可以更改 ;)