Как перенести Apache RewriteCond и RewriteRule в ngnix?

Как перенести Apache RewriteCond и RewriteRule в ngnix?

Мне нужно преобразовать конфигурацию обратного прокси-сервера Apache, которая использует RewriteCond и RewriteRule, в 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;
}

Вы можете заменить $schemeна https, если хотите все время перенаправлять на HTTPS, чтобы получить такое же поведение, как в Apache.

Связанный контент