Rewrite conversion

Tseveendorj Ochirlantuu tseveendorj at gmail.com
Sat Jul 23 14:33:35 UTC 2011


Dear Igor,

I just tested rewrite but one thing did not work. When I'm accessing
http://www.xac.mn/index.php?do=/mytunes/view/song_40/module_popout/ this
popup but I got
404 Not Found
------------------------------
nginx/0.7.65
on the screen.Above url is working on Apache with rewrite.
I do not know difference between these two rewrites.
ApacheRewriteRule ^(.*)$ /index.php?do=/$1 [L]
Nginxlocation ~ ^/index.php(/.*)$ {           fastcgi_pass   backend;
   include        fastcgi_params;           fastcgi_param  SCRIPT_FILENAME
 /var/www/xac/index.php;           fastcgi_param  QUERY_STRING     do=$1;
   }


In my opinion : On apache rewrite do=/$1 slash stand before $1 but on the
Nginx do=$1 without slash before $1. Is it same or different ? Because above
link does not work.
Any help will be appreciated.
Thank youTseveen



On Sat, Jul 23, 2011 at 7:54 PM, Tseveendorj Ochirlantuu <
tseveendorj at gmail.com> wrote:

> Dear Igor,
>
> I have faced trouble on rewrite when new site installed on nginx. Most
> script has pre-configured rewrite on apache.
> Do you know what document is very useful for converting apache rewrite to
> nginx ? I will try learn for myself.
>
> Thank you.
> Tseveen.
>
>
>
> On Sat, Jul 23, 2011 at 4:31 PM, Tseveendorj Ochirlantuu <
> tseveendorj at gmail.com> wrote:
>
>> Dear Igor,
>>
>> Thank you for your conversion. It is working now.
>> I never imagine this apache rewrite would be like this.
>>
>> Thank you very much again.
>>
>> Tseveen.
>>
>>
>> On Sat, Jul 23, 2011 at 4:18 PM, Igor Sysoev <igor at sysoev.ru> wrote:
>>
>>> On Sat, Jul 23, 2011 at 04:07:27PM +0900, Tseveendorj Ochirlantuu wrote:
>>> > Hello,
>>> >
>>> > I'm trying to convert from apache to nginx rewrite.
>>> >
>>> > ErrorDocument 403 /index.php?do=/public/error/403/
>>> > ErrorDocument 404 /index.php?do=/public/error/404/
>>> >
>>> > RewriteEngine On
>>> >
>>> > RewriteCond %{REQUEST_URI} !^/file/.*
>>> > RewriteCond %{REQUEST_URI} !^/install/.*
>>> > RewriteCond %{REQUEST_URI} !^/design/.*
>>> > RewriteCond %{REQUEST_URI} !^/plugins/.*
>>> > RewriteRule ^index.php(/.*)$ /index.php?do=$1 [L]
>>> >
>>> > RewriteCond %{REQUEST_URI} !^/file/.*
>>> > RewriteCond %{REQUEST_URI} !^/install/.*
>>> > RewriteCond %{REQUEST_URI} !^/design/.*
>>> > RewriteCond %{REQUEST_URI} !^/plugins/.*
>>> > RewriteCond %{REQUEST_URI} !^/index.php
>>> > RewriteCond %{REQUEST_URI} !^/robots.txt
>>> > RewriteCond %{REQUEST_URI} !^/favicon.ico
>>> > RewriteRule ^(.*)$ /index.php?do=/$1 [L]
>>> >
>>> >
>>> > This is my try :D
>>> >
>>> > error_page 403 /index.php?do=/public/error/403/;
>>> > error_page 404 /index.php?do=/public/error/404/;
>>> >
>>> > rewrite ^index.php(/.*)$ /index.php?do=$1 last;
>>> > rewrite ^(.*)$ /index.php?do=/$1 last;
>>> >
>>> > I have difficulty on REQUEST_URI with following paths.
>>> >
>>> > any help is appreciated.
>>>
>>> server {
>>>    ...
>>>
>>>    root  /path/to/files;
>>>
>>>    error_page 403  /index.php?do=/public/error/403/;
>>>    error_page 404  /index.php?do=/public/error/404/;
>>>
>>>     location /file/ {
>>>    }
>>>
>>>    location /install/ {
>>>    }
>>>
>>>    location /design/ {
>>>    }
>>>
>>>    location /plugins/ {
>>>    }
>>>
>>>    location = /robots.txt {
>>>    }
>>>
>>>    location = /favicon.ico {
>>>    }
>>>
>>>    location / {
>>>        fastcgi_pass   ...
>>>        include        fastcgi_params;
>>>        fastcgi_param  SCRIPT_FILENAME  /path/to/files/index.php;
>>>        fastcgi_param  QUERY_STRING     do=$uri;
>>>    }
>>>
>>>    location /index.php {
>>>
>>>        location = /index.php {
>>>            fastcgi_pass   ...
>>>            include        fastcgi_params;
>>>            fastcgi_param  SCRIPT_FILENAME  /path/to/files/index.php;
>>>            fastcgi_param  QUERY_STRING     $args;
>>>        }
>>>
>>>        location ~ ^/index.php(/.*)$ {
>>>            fastcgi_pass   ...
>>>            include        fastcgi_params;
>>>            fastcgi_param  SCRIPT_FILENAME  /path/to/files/index.php;
>>>            fastcgi_param  QUERY_STRING     do=$1;
>>>        }
>>>
>>>        return 404;
>>>    }
>>>
>>>
>>> --
>>> Igor Sysoev
>>>
>>> _______________________________________________
>>> nginx mailing list
>>> nginx at nginx.org
>>> http://mailman.nginx.org/mailman/listinfo/nginx
>>>
>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.nginx.org/pipermail/nginx/attachments/20110723/f0c95184/attachment.html>


More information about the nginx mailing list