Rewrite question

Hi guys,

stupid but tricky question. In my “server” configuration, I added two
“location” directives:

location ~* .css|.js|.jpg|.jpeg|.png|.gif|.swf|.svg|.tiff$ {
expires 30d;
}

location /medias/ {
rewrite ^/medias/(.*) http://static.mydomain.com/$1 permanent;
}

The rewrite works fine except for jpg files. I suppose there is a
conflict between the two locations. It works if I comment out the first
location. I tried to invert locations or to add a “break;” after the
rewrite command or to replace “permanent” with “last” or “break”.
Nothing does the trick.

If you have any idea, that would be great.

Tks

Axel

Maybe try to put the /medias/ location on top?

Hello!

On Thu, Jun 03, 2010 at 05:50:08PM +0200, Axel wrote:

stupid but tricky question. In my “server” configuration, I
added two “location” directives:

location ~* .css|.js|.jpg|.jpeg|.png|.gif|.swf|.svg|.tiff$ {
expires 30d;
}

location /medias/ {

  • location /medias/ {
  • location ^~ /medias/ {

rewrite ^/medias/(.*) http://static.mydomain.com/$1 permanent;
}

The rewrite works fine except for jpg files. I suppose there is
a conflict between the two locations. It works if I comment out
the first location. I tried to invert locations or to add a
“break;” after the rewrite command or to replace “permanent”
with “last” or “break”. Nothing does the trick.

See here for details:

http://wiki.nginx.org/NginxHttpCoreModule#location

Maxim D.

@kleinchris: on top didn’t work

@maxime: nice, did the trick. Tks a lot

Axel

Le 3 juin 2010 à 18:10, Maxim D. a écrit :