Rewrite URL to only show value of $_GET argument

Steve Holdoway steve at
Mon Sep 9 04:31:37 UTC 2013

I think you need to do some regexp on the args

if ( $args ~ title=([^&]+) {
	rewrite ^(.*)title=([^&]+).*$ /article/$2? last;

Note... totally untested.


On Sun, 2013-09-08 at 23:01 -0500, Andrew Martin wrote:
> Hello,
> I have read through the nginx rewrite documentation and looked at
> various examples, but can't figure out how to create a rewrite rule
> for the following (if it is possible). I'd like to rewrite the URL of
> a php file with a $_GET argument and replace it with just the value of
> the $_GET argument. For example, I'd like to
> replace /index.php?title=my_example_title with /my_example_title
> or /article/my_example_title. I've tried several regular expressions
> to match index.php, as well as the $args and $arg_title nginx
> variables, but cannot get this working. For example:
> rewrite ^/index\.php?title=(.*)$$1 redirect;
> Can anyone provide inside into how to correctly rewrite this type of
> URL?
> Thanks,
> Andrew
> _______________________________________________
> nginx mailing list
> nginx at

Steve Holdoway BSc(Hons) MIITP
Skype: sholdowa

More information about the nginx mailing list