Welcome! Log In Create A New Profile

Advanced

Re: Массированный rewrite или map ?

Валентин Бартенев
June 05, 2017 09:52AM
On Tuesday 30 May 2017 10:53:32 Dee Dee wrote:
> Добрый день всем.
>
> У меня возникла проблема на, казалось бы, простой задаче. У меня есть
> порядка 300 штук редиректов в разделе блог вида:
>
> /blog?page=post&blog=blog_EN&id=298
> /blog/topic1-theme-for-russian-speakers/
> /blog?page=post&blog=blog_RU&id=300 /blog/webinar-new-staff/
>
> Как я понимаю, тут location это "blog" а далее пошли уже $args.
> У меня получилось сделать это через map вида:
>
> map $args $link {
> "blog?page=post&blog=blog_EN&id=300" "/blog/webinar-new-staff/";
> ....
> default "/blog/";
> }
>
> и
>
> if ($args) {
> return 301 $scheme://$host$link;
> }
>
> Всё работает. Но map из трёхсот записей кажется мне громоздким.
> Есть ли какие-либо варианты решения задачи, которые более элегантны, чем мой
> ?
>
> Заранее большое спасибо!
>

Порядок следования параметров может быть любым, например данные запросы
эквивалентны:

/blog?page=post&blog=blog_EN&id=298

/blog?id=298&blog=blog_EN&page=post

/blog?blog=blog_EN&page=post&id=298

/blog?id=298&page=post&blog=blog_EN

/blog?blog=blog_EN&id=298&page=post

/blog?page=post&id=298&blog=blog_EN

так что map из 300 записей тут будет мало.

Лучше делать это в приложении.

--
Валентин Бартенев
_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru
Subject Author Posted

Массированный rewrite или map ?

Dee Dee May 30, 2017 10:53AM

Re: Массированный rewrite или map ?

Konstantin Tokarev May 30, 2017 11:16AM

Re: Массированный rewrite или map ?

Dee Dee May 30, 2017 11:20AM

Re: Массированный rewrite или map ?

Vladimir Getmanshchuk June 05, 2017 11:38AM

Re: Массированный rewrite или map ?

Валентин Бартенев June 05, 2017 09:52AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 300
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready