尾部斜杠重定向到root

时间:2018-02-07 05:20:43

标签: wordpress .htaccess redirect mod-rewrite

我为我所工作的公司构建了一个新的WordPress博客,并且无法为新的固定链接结构实现全部重定向。

旧的网址结构如下:

https://blog.company.com/blog/2018/02/07/what-a-cool-post/

使用新结构:

https://blog.company.com/what-a-cool-post/

麻烦在于第一篇文章的尾部斜线。如果我删除斜杠,则重定向按预期工作,但如果您将斜杠留在URL中,它将重定向到根。

https://blog.company.com/blog/2018/02/07/what-a-cool-post/ => https://blog.company.com/

https://blog.company.com/blog/2018/02/07/what-a-cool-post => https://blog.company.com/what-a-cool-post/

重定向规则如下(并显示在所有其他规则之前):

RedirectMatch 301 ^blog/([0-9]){4}/([0-9]){2}/([0-9]){2}/(.*)$ https://blog.company.com/$1

该规则应该如何设置?

1 个答案:

答案 0 :(得分:0)

经过另一位员工的大力帮助,我们得以解决这个问题。错误似乎来自不包括开头的斜杠。

我们重写了规则(包括更清晰的正则表达式并删除了多余的捕获组):

RedirectMatch 301 ^/blog/\d{4}/\d{2}/\d{2}/(.*)$ https://blog.company.com/$1