Attempt to rewrite using slightly deprecated /foo.php/bar/ methods

Michael Shadle mike503 at
Mon Oct 26 07:23:02 MSK 2009

I have a script which has aliases like /login and such. If the file
does not exist, it's supposed to go to


Where controller.php will look up based on the URI and a whitelist of
aliases and load the appropriate script. However when I try this:

if (!-e $request_filename) {
  rewrite ^(.+)$ /controller.php/$uri last;

I get an infinite loop.

Is there a way to setup some sort of rewrite (I also tried try_files)
to make this behavior happen? I tried hacking the controller script
but I'm worried changing it from URI parsing to a GET argument will
mess up other internals of the script (it's a third party script)

Thanks... I've done this in Zeus and Apache before but apparently
never tackled it in nginx yet.

More information about the nginx mailing list