atom feed10 messages in ru.sysoev.nginxRe: Help translating Apache RewriteRules
FromSent OnAttachments
Chris CorteseApr 7, 2010 12:25 am 
Igor SysoevApr 7, 2010 1:04 am 
Igor SysoevApr 7, 2010 1:06 am 
Chris CorteseApr 7, 2010 1:22 am 
Chris CorteseApr 7, 2010 1:23 am 
Chris CorteseApr 8, 2010 1:43 am 
Edho P AriefApr 8, 2010 2:05 am 
Chris CorteseApr 8, 2010 4:03 am 
Edho P AriefApr 8, 2010 6:24 am 
Chris CorteseApr 8, 2010 11:18 am 
Subject:Re: Help translating Apache RewriteRules
From:Chris Cortese (cort@gmail.com)
Date:Apr 7, 2010 1:23:30 am
List:ru.sysoev.nginx

ok, sent my last reply before I saw this. Let me try it now.

On 4/7/2010 1:06 AM, Igor Sysoev wrote:

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.