如何將 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 開頭的 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

相關內容