Need help with rewrite rule
Igor Sysoev
is at rambler-co.ru
Wed Feb 25 11:00:32 MSK 2009
On Tue, Feb 24, 2009 at 11:48:39PM -0800, Chris Cortese wrote:
> So this should be working the same way it does on apache then. $1 looks
> correct from your test. Is there anything else about nginx where it
> would not like the comma?
No, this should work.
> Re: combine statically: You mean just putting everything into one js
> file? If so, I guess that's one solution, but it makes for an extra
> step whenever one js component gets updated. Also, different parts of
> the site may need different combinations of js files... meaning more
> work. Before the combinator I was loading files individually, and the
> combinator made some of my pages go from several seconds to ~ 1 second.
This on-fly combination is good for tens or hundreds requests per second,
but on thousands it will be bottleneck.
> Igor Sysoev wrote:
> >On Tue, Feb 24, 2009 at 07:15:09PM -0800, Chris Cortese wrote:
> >
> >
> >>In Apache, I use the following rule. It runs the combinator script,
> >>which serializes, minimizes, and gzips a list of javascript files:
> >>
> >>RewriteRule ^/javascript/(.*\.js) /combine.php?type=javascript&files=$1
> >>
> >>In nginx, I've tried many things, to no avail. Right now I have:
> >>
> >>rewrite ^/javascript/(.*\.js)$ /combine.php?type=javascript&files=$1 last;
> >>
> >>When I load my page and expand the HTML in firebug, at the place where I
> >>have:
> >>
> >><script type="text/javascript"
> >>src="http://mysite.com/javascript/prototype.js,effects.js,builder.js,lightbox_live.js,box.js"></script>
> >>
> >>...it shows me 1 line as follows:
> >>
> >>effects.js,builder.js,lightbox_live.js,box.js
> >>
> >>
> >>Surely wildcards in nginx are greedy right? Can anybody see what's
> >>wrong here?
> >>
> >
> >nginx uses PCRE regex library:
> >
> >$pcretest
> >PCRE version 7.6 2008-01-28
> >
> > re> #^/javascript/(.*\.js)$#
> >data>
> >/javascript/prototype.js,effects.js,builder.js,lightbox_live.js,box.js
> > 0: /javascript/prototype.js,effects.js,builder.js,lightbox_live.js,box.js
> > 1: prototype.js,effects.js,builder.js,lightbox_live.js,box.js
> >data> ^D
> >
> >BTW, I do not think that "the combinator script, which serializes,
> >minimizes, and gzips a list of javascript files" is a good thing.
> >
> >It's much better to combine them statically.
> >
> >
> >
>
--
Igor Sysoev
http://sysoev.ru/en/
More information about the nginx
mailing list