Help translating Apache RewriteRules

Igor Sysoev igor at sysoev.ru
Wed Apr 7 12:06:58 MSD 2010


On Wed, Apr 07, 2010 at 12:05:07PM +0400, Igor Sysoev wrote:

> On Wed, Apr 07, 2010 at 12:25:37AM -0700, Chris Cortese wrote:
> 
> > Hello,
> > 
> > I've been using nginx for 1.5 years now with about 10 or so CodeIgniter 
> > sites, but apparently I still haven't mastered the rewrite stuff.
> > 
> > With the CodeIgniter stuff (and Igor's help), I never had to use the 
> > "rewrite" command at all.
> > 
> > Anyway, now I need to translate the following (from .htaccess for Apache):
> > 
> > RewriteRule ^([0-9a-zA-Z\/\-\_\@]+)$ index.php?demand=$1 [QSA,L]
> > 
> > My current conf file is going into a loop and eventually returning nothing:
> > 
> > server {
> >    listen 80;
> >    server_name  mysite.com.vmware;
> > 
> >    access_log  /usr/local/nginx/logs/mysite.com.access.log;
> >    error_log /usr/local/nginx/logs/mysite.com.error.log;
> > 
> >    root /home/mylinuxuser/www/live/mysite.com;
> >    index index.php;
> > 
> >    rewrite ^/([0-9a-zA-Z\/\-\_\@]+)$ /index.php?demand=$1 last;
> > 
> >    location / {
> >      fastcgi_pass  127.0.0.1:9000;
> >      fastcgi_param SCRIPT_FILENAME 
> > /home/mylinuxuser/www/live/mysite.com/index.php;
> >      include /usr/local/nginx/conf/fastcgi_params;
> >    }
> > }
> > 
> > --------------
> > 
> > Can someone please advise?
> 
>     location ~ ^/([0-9a-zA-Z\/\-\_\@]+)$ {
>       fastcgi_pass  127.0.0.1:9000;
>       fastcgi_param SCRIPT_FILENAME
>                     /home/mylinuxuser/www/live/mysite.com/index.php;
>       fastcgi_param QUERY_STRING    demand=$uri;

A typo:

-       fastcgi_param QUERY_STRING    demand=$uri;
+       fastcgi_param QUERY_STRING    demand=$1;

>       include /usr/local/nginx/conf/fastcgi_params0;
>     }
> 
>     location / {
>       fastcgi_pass  127.0.0.1:9000;
>       fastcgi_param SCRIPT_FILENAME
>                     /home/mylinuxuser/www/live/mysite.com/index.php;
>       include /usr/local/nginx/conf/fastcgi_params;
>     }
> 
> fastcgi_params0 is copy of fastcgi_params without QUERY_STRING parameter.
> 
> 
> -- 
> Igor Sysoev
> http://sysoev.ru/en/
> 
> _______________________________________________
> nginx mailing list
> nginx at nginx.org
> http://nginx.org/mailman/listinfo/nginx

-- 
Igor Sysoev
http://sysoev.ru/en/



More information about the nginx mailing list