That is really the only solid way to do it. Using request parameter has too many problems to list.
I did this in a Java app and it does require you to write some code, since as you mention Java does not have a built in rewrite capability. I may add google code project with a Java implementation for app engine (using the app engine version as a directory). Will keep you posted. E On Jun 3, 12:35 pm, Donovan <donovan.jime...@gmail.com> wrote: > Another technique for cache busting is URL rewriting within the path > to the resources, which has some benefits over the query string usage > in certain cases. > > The Python AE runtime supports URL mapping for static resources which > can make this even less painful and allows long expire times - so for > example you could generate all static URLs like this: > > /static/[app version from environment]/css/foo.css and have it map > to the static/your/foo.css withint your appengine upload This has an > advantage in the case of css because then all your resources > referenced from the CSS (as long as they're using relative URLs under > the same static directory) are also affected by the path versionion. > So a > > background-image: url(../images/bar.jpeg) ; > > declaration in the foo.css above would cause the browser to request > the resource with the injected app version /static/[app version]/ > images/bar.jpeg. This would not happen with the query string cache > busting technique unless you willing to parse your css dynamically > (and then you're not using the static file appengine servers). > > Using this technique you can feel free to set your static file caching > headers to large values (months to a year) to get a better client > experience without sacrificing the ability to update your app at will > (your app version id will change everytime you upload, which creates a > new URL and new set of cacheable objects to the browser) > > Unfortunately, the Java AE runtime does not have a similar support for > static file URL rewriting - I've done a feature request here (PLEASE > STAR! :) )http://code.google.com/p/googleappengine/issues/detail?id=2070 > > So, to get the same behavior and peformance benefit of hitting the AE > static file servers, you'd have to physically create a versioned > directory during the build process before uploading to appengine . You > could do the same thing for the python as well, but the URL mapping > feature is so easy to use I've never wanted to do so. > > - Donovan -- You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appeng...@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.