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