Hi
I am trying to get my Apache/Passenger installation to cache all
assets with a Rails style timestamp. My vhost file contains:
<VirtualHost *:80>
ServerName www.blabla.se
DocumentRoot /home/deployer/public/blabla/public
<Directory /home/deployer/public/blabla/public>
<IfModule mod_expires.c>
<FilesMatch "\.(ico|pdf|flv|jpg|jpeg|png|gif|
js|css|swf)\?[0-9]+$">
ExpiresActive on
ExpiresDefault "access plus 10 years"
</FilesMatch>
</IfModule>
</Directory>
</VirtualHost>
If I use the "catch all" regexp
"\.(ico|pdf|flv|jpg|jpeg|png|gif|js|
css|swf)$" then the assets get expires headers, but not if I include
the demand for a ? and 1 or more digits. I have checked the Perl
regexp documentation and I cannot see what is wrong with it. It also
runs well in Ruby, though I am not 100% of the compatibility between
Ruby and Perl regexp.
Does anyone have a working regexp for this?
Regards
Erik Lindblad
I got the same problem. On Jul 12, 5:39 pm, Erik Lindblad <e...-gTO0lQh45js@public.gmane.org> wrote:> Hi > > I am trying to get my Apache/Passenger installation to cache all > assets with a Rails style timestamp. My vhost file contains: > > <VirtualHost *:80> > ServerNamewww.blabla.se > DocumentRoot /home/deployer/public/blabla/public > > <Directory /home/deployer/public/blabla/public> > <IfModule mod_expires.c> > <FilesMatch "\.(ico|pdf|flv|jpg|jpeg|png|gif| > js|css|swf)\?[0-9]+$"> > ExpiresActive on > ExpiresDefault "access plus 10 years" > </FilesMatch> > </IfModule> > </Directory> > </VirtualHost> > > If I use the "catch all" regexp "\.(ico|pdf|flv|jpg|jpeg|png|gif|js| > css|swf)$" then the assets get expires headers, but not if I include > the demand for a ? and 1 or more digits. I have checked the Perl > regexp documentation and I cannot see what is wrong with it. It also > runs well in Ruby, though I am not 100% of the compatibility between > Ruby and Perl regexp. > > Does anyone have a working regexp for this? > > Regards > > Erik Lindblad
Just read an article on this here: http://www.dcmanges.com/blog/asset-versioning-in-rails#comment-14440675 In short, Apache doesn''t seem to support file matching with the query string. Best Jeff Tucker On Aug 13, 8:03 am, 碳 <beenh...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:> I got the same problem. > > On Jul 12, 5:39 pm, Erik Lindblad <e...-gTO0lQh45js@public.gmane.org> wrote: > > > Hi > > > I am trying to get my Apache/Passenger installation to cache all > > assets with a Rails style timestamp. My vhost file contains: > > > <VirtualHost *:80> > > ServerNamewww.blabla.se > > DocumentRoot /home/deployer/public/blabla/public > > > <Directory /home/deployer/public/blabla/public> > > <IfModule mod_expires.c> > > <FilesMatch "\.(ico|pdf|flv|jpg|jpeg|png|gif| > > js|css|swf)\?[0-9]+$"> > > ExpiresActive on > > ExpiresDefault "access plus 10 years" > > </FilesMatch> > > </IfModule> > > </Directory> > > </VirtualHost> > > > If I use the "catch all" regexp "\.(ico|pdf|flv|jpg|jpeg|png|gif|js| > > css|swf)$" then the assets get expires headers, but not if I include > > the demand for a ? and 1 or more digits. I have checked the Perl > > regexp documentation and I cannot see what is wrong with it. It also > > runs well in Ruby, though I am not 100% of the compatibility between > > Ruby and Perl regexp. > > > Does anyone have a working regexp for this? > > > Regards > > > Erik Lindblad > >