如何将 Apache RewriteCond 和 RewriteRule 移植到 ngnix?

如何将 Apache RewriteCond 和 RewriteRule 移植到 ngnix?

我必须将使用 RewriteCond 和 RewriteRule 的 Apache 反向代理配置转换为 Nginx。

我怎样才能将这样的内容转换为 nginx 配置?

(这是在主/唯一<VirtualHost *:443>块中)

    RewriteCond %{HTTP_HOST} ^stagingapi$ [NC]
    RewriteRule ^/(.*) https://staging-zone.mydomain.com/$1 [R,L]

答案1

RewriteRule 的第一个参数是正则表达式,它匹配以 开头的所有 URI /,第二个参数是替换,它将“stagingapi”站点(R 标志)重定向到https://staging-zone.mydomain.com/

尝试类似以下操作:

server{
  listen 443;
  server_name stagingapi;
  return 301 $scheme://staging-zone.mydomain.com$request_uri permanent;
}

如果您想要一直重定向到 HTTPS,以实现与 apache 相同的行为,您可以将其替换$scheme为。https

相关内容