In an Apache VirtualHost, I have some mod_wsgi configuration that
looks like this for a handful of apps:

    WSGIDaemonProcess acid user=me group=cooldoods display-name=acid
    WSGIScriptAlias /app/acid /somewhere/acid/parts/wsgi_app/wsgi
    <Location /app/acid>
        WSGIProcessGroup acid
    </Location>

Just to make the example complete, I also have this in the Apache
server config, outside of any VirtualHost:

    LoadModule wsgi_module modules/python26-mod_wsgi.so

    # Specifies the directory to use for WSGI daemon sockets. This
can't be
    # defined in a VirtualHost section.
    WSGISocketPrefix run/wsgi

[Any critique of this config would be appreciated as, as this is my
first time with mod_wsgi, but that's not the point of this post.]

The trailing slash issue comes up when a user visits the root URL but
omits the trailing slash. For the example above, that would be this
URL:

    https://example.com/app/acid

mod_wsgi doesn't have a problem with this, but it passes on an empty
value for PATH_INFO. Routes chokes on this, though, because there's
nothing to match against.

Previously, when I was proxying to `paster serve`, I was using Paste's
PrefixMiddleware, which I just discovered will tack on the trailing
slash for you. I'm not sure I like that, nor am I sure that it's
strictly correct.

I'm not sure, though, so maybe Routes should treat empty PATH_INFO the
same as  a single /. It doesn't feel right to me, but maybe it would
be OK.

My current solution is the following, which merely redirects from a
root URL without a trailing slash to one with a trailing slash. This
won't apply to application sub-URLs that include a path.

    RewriteRule ^/app/([^/]+)$ /app/$1/ [R,L]

This feels good because there's a single, canonical URL addressing the
root of the site.

My only question is how others have solved this problem--in general
and particularly when deploying with mod_wsgi.

I also thought the config above might be useful to somebody as an
example of setting up mod_wsgi in daemon mode for running a Pylons
app. I actually had a hard time finding simple, complete examples.

-- 
You received this message because you are subscribed to the Google Groups 
"pylons-discuss" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/pylons-discuss?hl=en.

Reply via email to