博主到 pelican nginx 重写规则

博主到 pelican nginx 重写规则

我刚刚将我的博客从 blogger 转换为 pelican。在 blogger 上,帖子以前是这样的:http://blog.example.com/2014/09/title-slug.html,现在我在 pelican 上的博客是 http(s)://blog.exmaple.com/title-slug.html。

现在我已经从 blogger 转移到 pelican(自托管),我想将 URL 类型从 blogger 重写为我在 pelican 上使用的 URL 类型。

我从未真正编写过正则表达式或 nginx 重写规则,因此我不知道该如何编写这些规则。我尝试了一些示例,但都不起作用。例如:

location ^/([0-9]+)/([0-9]+)/([a-z0-9-]+)/\.html$ {
    rewrite ^(.*) /$1 permanent;
}

答案1

将其从位置块中取出,然后就可以了:

rewrite ^/\d+/\d+/([^/]+\.html)$ /$1 permanent;

答案2

您忘记了正则表达式运算符:~

location ~ ^/\d+/\d+/([-\w]+)\.html$ {
    return 301 /$1.html;
}

相关内容