Welcome! Log In Create A New Profile

Advanced

Re: Redirect on $args based on multiple params?

March 25, 2009 11:59AM
On Wed, Mar 25, 2009 at 03:55:02PM +0000, Phillip B Oldham wrote:

> Is there any way to capture multiple parameters from a querystring for a
> rewrite?
>
> For example:
> The request is: /myscript.php?a=b&c=d&z=y
> The target is: /script/a/b/c/d/z/y
>
> So, the basic rewrite would be:
>
> location /myscript.php {
> if( $args ~* ^a=([^\&]+)&b=([^\&]+)&z=([^\&]+)$ ){
> rewrite ^ /script/a/$1/b/$2/z/$3 permanent;
> }
> }
>
> However, how would I cope with situations where the args aren't in the
> order of a/b/z? Obviously if I have 10 args I don't want to have to do
> an "if" for each permutation, that could get both confusing and lengthy!

No way. This is one of the reasons why locations test URI only.


--
Igor Sysoev
http://sysoev.ru/en/
Subject Author Posted

Redirect on $args based on multiple params?

Phillip B Oldham March 25, 2009 11:55AM

Re: Redirect on $args based on multiple params?

Igor Sysoev March 25, 2009 11:59AM

Re: Redirect on $args based on multiple params?

Maxim Dounin March 25, 2009 01:58PM

Re: Redirect on $args based on multiple params?

Igor Sysoev March 25, 2009 06:17PM

Re: Redirect on $args based on multiple params?

Maxim Dounin March 26, 2009 06:35AM

Re: Redirect on $args based on multiple params?

Igor Sysoev April 04, 2009 01:54PM

Re: Redirect on $args based on multiple params?

Phillip B Oldham March 26, 2009 04:35AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 252
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