我最近将我的博客从 WordPress 转移到了 Jekyll(我喜欢将静态文件用于我的博客的想法)。我正在使用 Nginx(之前与 PHP-FPM 一起使用),并设置了一些处理东西。我遇到了一个我不知道如何解决的问题。
我使用的 URL 结构是
/atthekeyboard/YYYY/MM/DD/title-of-post
我有大约 5 年的博客文章被谷歌索引,它们
/attheykeyboard/YYYY/MM/DD/title-of-post/
我想重写所有带有尾随斜杠的旧调用,以使用非尾随斜杠 URL,直到 Google 索引所有新内容。
以下是我已经拥有的 nginx 配置内容:
location /atthekeyboard {
index index.html;
try_files $uri.html $uri/ /notfound.html;
}
我使用 try_files 是因为帖子实际上保存为 title-of-post.html 并且我不想要 .html 部分。
提前感谢您的建议和解决方案!
答案1
类似这样的操作应该删除尾随的斜杠,然后让 Nginx 重新解析位置块。
location ~ ^(/atthekeyboard/.+)/$ {
set $noslash $1;
rewrite ^ $noslash permanent;
}
答案2
我认为HTTPRewriteModule就是你要找的