2

我最近将我的博客从 wordpress 切换到了 ghost。为了保持旧的 wordpress url 正常工作,我添加了一些重写规则。

我的 wordpress 网站使用了以下 url 格式:

  • /blog/year/month/post-title
  • /blog/index.php/year/month/post-title

Ghost 使用以下 url 格式:

  • /post-title

这是我的主要重写规则。它适用于没有 index.php 的模式,但使用 index.php,它会重定向到/index/.

<rule name="wordpress to ghost" stopProcessing="true">
    <match url="^blog/(index\.php/)?\d+/\d+/([\w\-]+)/?" />
    <action type="Redirect" url="{R:2}" />
</rule>

如何修复此规则以使用 index.php 正确重定向 url?

4

1 回答 1

3

我已经用我自己在 Azure 上安装的 Ghost 实例对此进行了测试,但我没有得到你的重定向。{R:2}正确返回第二个分组(slug 名称)。

但是,我确实注意到您并没有逃避正斜杠。尝试以下操作:

    <rule name="wordpress to ghost" stopProcessing="true">
        <match url="^blog\/(index\.php\/)?\d+\/\d+\/([\w\-]+)\/?" />
        <action type="Redirect" url="{R:2}" redirectType="Permanent" />
    </rule>
于 2015-09-10T21:39:50.677 回答