Здравствуйте! В письме от 5 ноября 2016 10:19:49 пользователь Gena Makhomed написал: > On 05.11.2016 8:43, sysadm wrote: > > Спасибо за ответ, Гена. Я думал уже над чем-то подобным, но это означает > > что сколько редиректов - столько ифов у нас появится. Т.е. будет > > несколько сотен - будет несколько сотен ифов. А если приедет следующий > > список на несколько тысяч подобных редиректов? Нормально ли это и > > насколько это скажется на производительности? > > Тогда http://nginx.org/ru/docs/http/ngx_http_map_module.html > > http { > > map $request_uri $target_uri { > /example-category?col=name&filter=filter-var1 /target/link; > # ... > } >
Если сотни или много тысяч, я бы использовал map $request_uri $target_uri { include manythousandsofinclude.inc; } Тогда файл с инклюдами можно генерировать скриптом и по завершению reloadить nginx. > server { > > if ($target_uri) { > return 301 $target_uri; > } > > > Помимо этого с такой конструкцией нгинксу не нравится синтаксис: > > nginx: [emerg] invalid number of arguments in "return" directive in > > /etc/nginx/redirects/ecommerce.conf:2 > > nginx: configuration file /etc/nginx/nginx.conf test failed > > http://nginx.org/ru/docs/http/ngx_http_rewrite_module.html#return > > Синтаксис: return код URL; Вы в своем первом сообщении rewrite с return просто перепутали и добавили permanent, чем ввели топикстартера в заблуждение. С уважением, Иван. _______________________________________________ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru