Question about rewrite directive

Lukas l at ymx.ch
Thu Jan 28 23:06:29 UTC 2016


> Lukas <l at ymx.ch> [2016-01-28 22:04]:
>
> > rainer at ultra-secure.de <rainer at ultra-secure.de> [2016-01-28 15:12]:
> >
> > a customer has this in his .htaccess file (among other things):
> >
> > RewriteCond %{REQUEST_FILENAME} !-f
> > RewriteCond %{REQUEST_FILENAME} !-d
> > RewriteRule ^(.+)\.(\d+)\.(php|js|css|png|jpg|gif|gzip)$ $1.$3 [L]
> >
> > This is to enable versioning of various files, so you can have long
> > "Expires" on them and still update them as needed while retaining
> > the old ones, if needed.
> >
> > I want to deliver static files directly from nginx, so I created this:
> >
>
> Not exactly sure about the notation in nginx but for regexp what
> about:
> >     location ~* ^(.+)\.(\d+)\.(js|css|png|jpg|gif|gzip)$ {

Btw.

    a) ".+"  matches a series of any character
    b) "\d+" matches a series of any digit

> coda-slider.1.1.1.1452703531.js

would then be returned as

    coda-slider.1.1.1.js

since the first series of digit-dot is matched by a).

If your customer has a file to be delivered that is named for example

    linux-4.2.1.gzip

your regular expression would return

    linux-4.2.gzip

since it strips off just the last digits-dot pair.

wbr
Lukas

-- 
Lukas Ruf       <http://www.lpr.ch> | Ad Personam
Consecom  <http://www.consecom.com> | Ad Laborem



More information about the nginx mailing list