On Sun, Dec 14, 2008 at 11:23 AM, Manlio Perillo wrote: > > In my WSGI applications I always have an ending slash to the URLs. > This means that an URL without the ending slash will cause the underlying > resource to return 404 Not Found HTTP response. > > What is the best method to handle this, using a regex based URL dispatcher?
I would add some kind of "catch-all entry" to dispatch to a "trailing slash redirector" WSGI app: routes.add("[^/]$", force_trailing_slash) or eventually add a WSGI middleware to each mapped application (...that need such a treatment, could be all of them) that would issue a redirect to the "slash-appended" URL when needed, or just pass through to the application otherwise: routes.add(<regexp>, force_trailing_slash(my_application)) > I'm planning to add an option to my URL dispatcher to force any URL to have > an ending slash (as an example requesting an HTTP redirect - either 302 or > 301, or by just internally modifying the URL), but I'm not sure this is the > best solution. A 301 is what webservers (such as Apache) generally do for resources served from file systems (when asked for a directory/folder). Internally modifying the URL could easily yield bad results, as it has an impact on relative URLs resolution. Anyway, I wouldn't build it inside the dispatcher (just a matter of taste; it's useful, whichever dispatcher you're using) -- Thomas Broyer _______________________________________________ Web-SIG mailing list Web-SIG@python.org Web SIG: http://www.python.org/sigs/web-sig Unsubscribe: http://mail.python.org/mailman/options/web-sig/archive%40mail-archive.com