I use /static for all my static file, except maybe robots and favicon
which cant be moved.
As for StaticURLParser, using that as the first choice in the Cascade
is wasteful cause
it means pylons will do a file lookup for every request (bad
performance) in addition to the
fact that filenames may hijack pylons controller mapped routes (bad
design calling for bugs).

You can (and should) get rid of StaticURLParser and the Cascade if
your web server is serving
the static files (with a /static url prefix), or at least move
StaticURLParser to the second choice
in the Cascade when accessing the app directly from Paster http server
(without a separate web server).


On Dec 27, 12:54 am, "Mike Orr" <sluggos...@gmail.com> wrote:
> On Sat, Dec 27, 2008 at 12:33 AM, Tycon <adie...@gmail.com> wrote:
>
> > It's always a bad idea to mix different types of urls without having
> > clearly defined separate prefixes for each.
> > Basically it's like having a global namespace, and even worse is that
> > you don't get ambiguity errors in case
> > of overlaps, you get one url superseding  the other (this also applies
> > to static files hijacking a request with
> > the same url, which I guess both rails and pylons do by default, and
> > then for each request you actually have to check
> > if a file with that name exists and only if not then dispatch the
> > rails/pylons action ==> that is really bad programming,
> > performance wise and logic wise).
>
> > it's like having the home directories not be under /home !!!!  so if
> > you get a user named "etc" you r screw3d !!!
>
> Pylons, or rather the StaticURLParser app in middleware.py, has the
> first chance at the URL and looks for a file in the public directory.
> If it can't find it, it returns an HTTP 404 and it then tries the
> Pylons application.  (This is all done by the Cascade application in
> middleware.py.)
>
> Pylons could set up a prefix for all static files, but then people
> would complain they want another prefix or they need multiple
> directories.  Plus, certain files like /robots.txt and /favicon.ico
> can't have a prefix.  So Pylons punts and lets you put your static
> files under any URL.  It's up to the programmer to choose one or a few
> easy-to-remember directories to put under it.
>
> I had an application in another framework (Quixote) where you had to
> set up static file handling manually.  I put them all under a /static
> prefix.  Then I had to set up two more handlers for robots and
> favicon, and then another for a directory of user-uploaded images.
> But I put all the help files under static because they were
> pregenerated HTML made by RoboHelp.  When I converted the application
> to Pylons, I got rid of the /static prefix and was happier.
>
> --
> Mike Orr <sluggos...@gmail.com>
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"pylons-discuss" group.
To post to this group, send email to pylons-discuss@googlegroups.com
To unsubscribe from this group, send email to 
pylons-discuss+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/pylons-discuss?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to