Hi there. I'm dynamically adding version numbers to the filenames for 
static assets like css, js, and image files. (These version numbers aren't 
actually in the filenames. They're just added to the url in the <link> and 
<script> tags that reference them.) So I need to use url rewriting to 
remove those version numbers. In other words, if the browser looks for 

/static/css/theme.1510773357.css 

it should be served 

/static/css/theme.css

I've written a routes.py file that I thought would do the trick, but it's 
not working. The browser is still giving a 404 error for the file. 

routes_in = ((r
'.*/static/(?P<subdir>(css|images|audio|js))/(?P<basename>.*)\.[\d]{10}\.(?P<extension>(css|js|ico|png|svg|jpe?g))'
,
              r'/static/\g<subdir>/\g<basename>\.\g<extension>'),
             )
routes_out = [(x, y) for (y, x) in routes_in]

Any idea what's wrong? I've confirmed that the first regex in the pair does 
match the filename, and that the correct matching groups are found 
({'subdir': 'css', 'basename': 'theme', 'extension': 'css'}). Is there 
something wrong with the second string that creates the new path?

In case anyone is wondering, I'm doing this even though I know about 
web2py's built-in versioning system. The app is under constant incremental 
development and I don't want to have to manually change version numbers 
every time I push out an update. This approach automatically forces users 
to download the updated file based on its last-modified datetime.

Thanks,

Ian

-- 
Resources:
- http://web2py.com
- http://web2py.com/book (Documentation)
- http://github.com/web2py/web2py (Source code)
- https://code.google.com/p/web2py/issues/list (Report Issues)
--- 
You received this message because you are subscribed to the Google Groups 
"web2py-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to web2py+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to