rewrite scheme for url redirect
    sevy 
    nginx-forum at nginx.us
       
    Thu Jan 27 00:11:30 MSK 2011
    
    
  
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
    
    
More information about the nginx
mailing list