Need help with rewrite rule

Chris Cortese cortese.consulting at gmail.com
Wed Feb 25 10:48:39 MSK 2009


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?

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.

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.
>
>
>   






More information about the nginx mailing list