capture rewrite for every after question mark

António P. P. Almeida appa at perusio.net
Wed Nov 30 17:12:35 UTC 2011


On 30 Nov 2011 17h06 WET, nginx-forum at nginx.us wrote:

> Hello,
>
> I have found the following while searching it is the only one i can
> get working with my config setup
> to send a 301 permanently if "/index.php" is directly accessed.
>
>
> if ($request_uri ~* ^(/home(/index)?|/index(.php)?)/?$)
> {
> rewrite ^(.*)$ / permanent;
> }
>
>
> GET http://www.example.com/index.php 301 Moved Permanently
> GET http://www.example.com/  200 OK
>
> ---------------------------------------
> above works as expected.
>
> But, now if i have the following results as 200 OK as expected.
>
> http://www.example.com/index.php?randomvalue  200 OK
>
>
> So how do you rewrite that if there is a question mark and or value
> that follows "/index.php?" then returns 301.
>
> GET http://www.example.com/index.php?randomvalue  301 Moved
> Permanently
>
> GET http://www.example.com/  200 OK

Try:

location = /index.php {
    return 301 /;
}

--- appa



More information about the nginx mailing list