<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;">On 27 Aug 2016, at 21:04, Alexander Moskalenko <<a href="mailto:alexander.moskalenko@gmail.com">alexander.moskalenko@gmail.com</a>> wrote:<br><div><br class="Apple-interchange-newline"><blockquote type="cite"><div dir="ltr">Приветствую!<div><br></div><div>Есть локейшн задача которого делать редирект с приведением uri к нижнему регистру.</div><div>В данный момент используется LUA, который хотелось бы заменить на "родной" модуль.</div><div><br></div><div>LUA блок выглядит так:</div><div><div>location ~ [A-Z] {</div><div><span class="" style="white-space:pre">     </span><span class="" style="white-space:pre">  </span>rewrite_by_lua_block {</div><div><span class="" style="white-space:pre">     </span><span class="" style="white-space:pre">          </span>return ngx.redirect((string.lower(ngx.var.uri)),301);</div><div><span class="" style="white-space:pre">      </span><span class="" style="white-space:pre">  </span>}</div><div><span class="" style="white-space:pre">  </span>}</div></div><div><br></div><div>NJS блок:</div><div><div>js_run "function f(req, res) {</div><div><span class="" style="white-space:pre">                    </span>res.status = 301;</div><div><span class="" style="white-space:pre">                  </span>res.headers.location = req.uri.toLowerCase();</div><div><span class="" style="white-space:pre">                      </span>res.sendHeader();</div><div><span class="" style="white-space:pre">                  </span>res.finish();</div><div><span class="" style="white-space:pre">              </span>}";</div></div><div><br></div><div>упорно получаю js exception: TypeError</div><div><br></div><div>Вопрос: что я делаю не так?</div><div>typeof(req.uri) возвращает string</div><div>т.к. документации толком нет пытаюсь использовать "родные" методы JS</div></div></blockquote><br></div><div>Должно работать. Скорее всего, используется старая версия,</div><div>в которой toLowerCase ещё не было.</div><div apple-content-edited="true"><div style="orphans: auto; text-align: start; text-indent: 0px; widows: auto; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><div style="orphans: auto; text-align: start; text-indent: 0px; widows: auto; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><div style="orphans: auto; text-align: start; text-indent: 0px; widows: auto; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><br><br>-- <br>Join us at nginx.conf, Sept. 7-9, Austin, TX<br>Igor Sysoev<br><a href="http://nginx.com">http://nginx.com</a></div></div></div>
</div>
<br></body></html>