Redirect ALL requests to single PHP file

Maxim Dounin mdounin at mdounin.ru
Wed Jan 18 16:48:25 UTC 2012


Hello!

On Wed, Jan 18, 2012 at 11:35:24AM -0500, iberkner wrote:

> Hi All,
> 
> We'd like to redirect all requests to a single PHP file.  The
> configuration below is what we have but I'm concerned that it would
> cause an "infinite" loop and possibly other problems.  We'd like to
> redirect ANY request to api.php regardless if the file exists or not. 
> Even a request to an existing static file should rewrite to the
> "api.php" file.
> 
> Is this the correct way? is there a better way?
> 
> Thanks
> 
>         server
>         {
>                 listen #.#.#.#:80;
>                 server_name api.domain.com;
> 
>                 rewrite ^(.*)$ /api.php?uri=$1 last;
> 
>                 location ~ \.php$
>                 {
>                         include fcgi;
>                         fastcgi_pass 127.0.0.1:9000;
>                 }
>         }

server {
    listen ...
    server_name api.domain.com;

    location / {
        fastcgi_pass 127.0.0.1:9000;
        fastcgi_param REQUEST_FILENAME $document_root/api.php;
        include fastcgi_params;
    }
}

Maxim Dounin



More information about the nginx mailing list