如何在 nginx 中使用 if 语句进行多次重定向

如何在 nginx 中使用 if 语句进行多次重定向

所以我的问题一半是面向 SEO,一半是技术性的:我有很多链接需要重定向,而不是一个接一个地进行操作,而是问自己:

有没有办法编写这样的重写规则(这纯属虚构,在 nginx 上不可用)

rewrite /america/(.*)/ http://www.example/nort-america/$1/ permanent;
if 500 rewrite /america/(.*)/ http://www.example/south-america/$1/ permanent;

因此,我们的想法是重定向到特定链接,如果重定向失败,则尝试其他链接。

这是可能的吗?而且这对 SEO 友好吗?

答案1

仅使用 nginx 是无法实现你想要的。

我会用 PHP 或类似语言编写一个脚本,该脚本将决定向浏览器发送哪个重定向。如果不需要发送重定向,那么它将发送实际页面本身。

您还可以制作脚本来尝试使用 获取替代选项curl,但是这会在网站上产生不必要的流量并减慢发送重定向的速度。

相关内容