使用位置重定向路径 nginx

使用位置重定向路径 nginx

我想要实现多个重定向,例如:

我这样做了:

location = /about {
  return 301 /es_CR;
}

并且是正确的,但需要/about,/about-us 和/about.php 重定向到同一个域(/es_CR),但我只需要在一个位置执行此操作,我猜是这样的:

location = /about(*) {
  return 301 /es_CR;
}

有人知道怎样做吗?

提前致谢。

答案1

您不需要在一个位置块中执行此操作,可以使用多个块

location = /about {
  return 301 /es_CR;
}
location = /about-us {
  return 301 /es_CR;
}
location = /about.php {
  return 301 /es_CR;
}

或者也可以使用正则表达式来实现,类似这样的方法应该可以工作,但我还没有测试过。此正则表达式匹配 URL 中带有“about”的所有内容。

location ~* about {
  return 301 /es_CR;
}

答案2

您可以构建与 about、about-us 和 about.php 匹配的正则表达式:

location ~ /(about|\/about-us|\.php) {
            return 301 https://www.example.com;
}

希望有所帮助。

相关内容