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