преобразовать из IIS, перезаписать в nginx

Мне нужно преобразовать правило перезаписи IIS в перезапись NGinX. Я добился небольшого прогресса, потому что не знаю, как преобразовывать части правил IIS. Вот моя конфигурация IIS:

  • Соответствует шаблону: ^ (. *) $
  • Повторите URL-адрес: index.html и добавьте строку запроса
  • Условия: соответствие всем
    • REQUEST_URI does not matches the Pattern "/api(.*)$ ignoring case"
    • REQUEST_FILENAME is not a file

So far what I did on NGinX was

location / {
    root   html;
    index  index.html index.htm;
    if ($request_uri !~ "/api(.*)$")
    {
      rewrite ^(.*)$ index.html
    }
}

I think I must use the variable $request_filename however I don´t know how to use it to filter files like on IIS and put it inside the if condition in an AND logical operation.

0
задан 26 July 2018 в 16:22
1 ответ

Dëst ass en typesche Fall vu Frontcontroller Muster, an dat gëtt an nginx esou ëmgesat:

location / {
    try_files $uri $uri/ /index.html$is_args$args;
}

Dëst wäert nginx als éischt no Dateie sichen, a wann eng Datei net fonnt gëtt, da schéckt se d'Ufro op /index.html an füügt méiglech Ufroargumenter an.

Da spezifizéiert Dir verschidde Regele fir Ären / api URI:

location /uri {
    ... API handling rules ...
}

Ouni weider Informatioun ass dat dat meescht wat ech als Äntwert schreiwe kann.

1
ответ дан 4 December 2019 в 15:53

Теги

Похожие вопросы