<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p>Здравствуйте!</p>
    <p>Вопрос коротко: является ли <br>
    </p>
    <p>rewrite ... redirect на 100% безопасным при использовании if
      внутри location.</p>
    <p><br>
    </p>
    <p>Подробнее:<br>
    </p>
    <p>В
      <a class="moz-txt-link-freetext" href="https://www.nginx.com/resources/wiki/start/topics/depth/ifisevil/">https://www.nginx.com/resources/wiki/start/topics/depth/ifisevil/</a></p>
    <p>
      <blockquote type="cite">
        <p>The only 100% safe things which may be done inside if in a
          location context are:</p>
        <ul class="simple">
          <li><a class="reference external"
href="https://nginx.org/en/docs/http/ngx_http_rewrite_module.html#return">return</a>
            ...;</li>
          <li><a class="reference external"
href="https://nginx.org/en/docs/http/ngx_http_rewrite_module.html#rewrite">rewrite</a>
            ... last;</li>
        </ul>
      </blockquote>
    </p>
    <p>то есть единственным вариантов rewrite на 100% безопасным с if в
      location написан rewrite с last. Учитывая написанное в статье
      далее и моё понимание nginx предполагаю, что rewrite можно не
      только с last, но так же с redirect и permanent, так как исключают
      выполнение других директив в рамках этого локейшена.<br>
    </p>
    <p>"Возможно опасными" тут могут быть только break и, вероятно,
      отсуствие флагов rewrite так как оставляют возможность выполнения
      других директив не из модуля rewrite.</p>
    <p>Я прав?<br>
    </p>
    <p>С уважением, Иван.<br>
    </p>
  </body>
</html>