Wie kann ich eine Apache RewriteCond und RewriteRule auf ngnix portieren?

Wie kann ich eine Apache RewriteCond und RewriteRule auf ngnix portieren?

Ich muss eine Apache-Reverse-Proxy-Konfiguration, die RewriteCond und RewriteRule verwendet, in Nginx konvertieren.

Wie kann ich so etwas in eine Nginx-Konfiguration konvertieren?

(dies ist im Haupt-/Einzigblock <VirtualHost *:443>)

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

Antwort1

Die RewriteRule hat als ersten Parameter einen regulären Ausdruck, der alle URIs abgleicht, die mit beginnen, /und als zweiten Parameter eine Ersetzung, die die "stagingapi"-Site (R-Flag) umleitet aufhttps://staging-zone.mydomain.com/

Versuchen Sie es mit etwas wie:

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

Sie können es $schemedurch ersetzen https, wenn Sie immer auf HTTPS umleiten möchten, um dasselbe Verhalten wie in Apache zu erhalten.

verwandte Informationen