rewrite scheme for url redirect

Antoine BONAVITA antoine_bonavita at yahoo.com
Thu Jan 27 12:27:48 MSK 2011


Hi Sevy,

I looked at your rewrite rule, created a similar setup (with nginx 0.8.53) 
and...the rewrite rule works as expected. I attach my setup (the conf file and 
the whole directory in tar.bz2).
The only thing I can think of at this point is that your NGINX was compiled 
without regex support (PCRE).

Feel free to send me your conf file.

Antoine.



----- Original Message ----
From: sevy <nginx-forum at nginx.us>
To: nginx at nginx.org
Sent: Wed, January 26, 2011 10:11:30 PM
Subject: rewrite scheme for url redirect

I'm going crazy with this since I can't get it working in any way...

I have a subdomain on a server, let's call it images.site1.com,
dedicated to serve images. Due to some bandwidth limitation i got a more
capable server so the webpages will remain on site1.com but the images
will be moved to images.site2.com

Since I had to change the names of images folders on the new server now
I need to rewrite the urls in order to fit my needs. Only the webserver
on site1.com runs NginX, so i need to do rewrite the original ruls
following a regular expression (regex) and do something like:

http://images.site1.com/oldfolderjpg/123456_1.jpg
--rewrite-->
http://images.site2.com/newfolderjpg/12/34/new_images/123456/123456_image_1_large.jpg


- The first and most logic rewrite scheme I tought about is:

rewrite ^/oldfolder/([0-9][0-9])([0-9][0-9])([0-9][0-9])_([0-9]).jpg$
http://images.site2.com/newfolder/$1/$2/new_images/$1$2$3/$1$2$3_image_$4_large.jpg

permanent;But it didn't work (I really don't know why)

- The second way I tried out is:

location /oldfolder/([0-9][0-9])([0-9][0-9])([0-9][0-9])_([0-9]).jpg$ {
    rewrite ^
http://images.site2.com/newfolder/$1/$2/new_images/$1$2$3/$1$2$3_image_$4_large.jpg

permanent;
}And it didn't work either...

I tried this config too:

location ~ oldfolder/ {
  rewrite ^([0-9][0-9])([0-9][0-9])([0-9][0-9])_([0-9]).jpg$
http://images.site2.com/newfolder/$1/$2/new_images/$1$2$3/$1$2$3_image_$4_large.jpg

permanent;
}But with no luck...

After that I tried an old config cheme i used for another site (on the
same box) for a cdn config:

location ~ /oldfolder/([0-9][0-9])([0-9][0-9])([0-9][0-9])_([0-9]).jpg
{
  rewrite ^/(.*)$
$scheme://images.site2.com/newfolder/$1/$2/new_images/$1$2$3/$1$2$3_image_$4_large.jpg;

}I've been triying in several ways but nginx keeps ignoring my rewrite
scheme redirecting to my default error image located at
images.site1.com/error.jpg

Can anyone help me with this?

I'll write down my subdomain server config for your facility:

## images.site1.com ##

    server {
        listen       80;
        server_name  images.site1.com;
        error_page  404  http://images.site1.com/error.jpg;
        root   /home/sites/site1.com/images;
        }It's a very basic server config, that's why I can't understand
why nginx doesn't rewrite the images following such scheme...

Posted at Nginx Forum: 
http://forum.nginx.org/read.php?2,169853,169853#msg-169853


_______________________________________________
nginx mailing list
nginx at nginx.org
http://nginx.org/mailman/listinfo/nginx



      
-------------- next part --------------
A non-text attachment was scrubbed...
Name: img_rewrite.tar.bz2
Type: application/x-bzip
Size: 6962 bytes
Desc: not available
URL: <http://nginx.org/pipermail/nginx/attachments/20110127/7ef82b11/attachment.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: nginx.conf
Type: application/octet-stream
Size: 1285 bytes
Desc: not available
URL: <http://nginx.org/pipermail/nginx/attachments/20110127/7ef82b11/attachment.obj>


More information about the nginx mailing list