我们重新启动了我们的WordPress网站前段时间,我试图否定我们的谷歌爬虫错误。nginx重定向旧wordpress文章
我们有一个简单模式的引用网址超过10k错误。写一个小脚本并且让它们一个接一个地被修复是很容易的,但是我想这是否可以通过nginx服务器配置中的一个简单的重写规则来解决。
旧模式: {slug}/{id } /引用
应该重定向到:{}塞
可悲的是我在正则表达式RLY坏,并有书面重写规则的经验。我所知道的是,我应该有它告诉nginx的,当执行所需的重写规则的位置,我想在这样的
location ^.*/trackback {
rewrite ^.*/[0-9].*/trackback /$1
}
当我尝试这条规则重启nginx的
当我得到unexpected "}"
错误信息
此外,位置模式与重写语句非常相似,看起来很腥,也许有更好的解决方案?
更新
当前版本:
location ~^(.*)/trackback {
rewrite ^(.*)/[0-9]+/trackback $1 last;
}
语法问题消失了,但不适用该规则/没有被触发 这里的例子
/my-test-article/12312/trackback
现在应该被重定向到 /my-test-article
但它不是
更新2
这一项工作rewrite
规则后(改变last
到redirect
和逃脱斜线)
location ~ ^(.*)\/trackback {
rewrite ^(.*)\/[0-9]+\/trackback $1 redirect;
}
你可能会改变'last'到'redirect'尝试一个外部重定向。 –
@RichardSmith是的!就是这样,thx!将更新我的帖子 – braunbeard