Index: django/core/handlers/base.py
===================================================================
--- django/core/handlers/base.py	(revision 5766)
+++ django/core/handlers/base.py	(working copy)
@@ -65,7 +65,7 @@
 
         resolver = urlresolvers.RegexURLResolver(r'^/', urlconf)
         try:
-            callback, callback_args, callback_kwargs = resolver.resolve(request.path)
+            callback, callback_args, callback_kwargs = resolver.resolve(request.META['PATH_INFO'])
 
             # Apply view middleware
             for middleware_method in self._view_middleware:
Index: django/core/handlers/modpython.py
===================================================================
--- django/core/handlers/modpython.py	(revision 5766)
+++ django/core/handlers/modpython.py	(working copy)
@@ -94,7 +94,7 @@
                 'CONTENT_LENGTH':    self._req.clength, # This may be wrong
                 'CONTENT_TYPE':      self._req.content_type, # This may be wrong
                 'GATEWAY_INTERFACE': 'CGI/1.1',
-                'PATH_INFO':         self._req.path_info,
+                'PATH_INFO':         self._req.uri,
                 'PATH_TRANSLATED':   None, # Not supported
                 'QUERY_STRING':      self._req.args,
                 'REMOTE_ADDR':       self._req.connection.remote_ip,
Index: django/core/handlers/wsgi.py
===================================================================
--- django/core/handlers/wsgi.py	(revision 5766)
+++ django/core/handlers/wsgi.py	(working copy)
@@ -74,7 +74,8 @@
 class WSGIRequest(http.HttpRequest):
     def __init__(self, environ):
         self.environ = environ
-        self.path = force_unicode(environ['PATH_INFO'])
+        self.path = ''.join((force_unicode(environ.get('SCRIPT_NAME') or ''),
+                             force_unicode(environ['PATH_INFO'])))
         self.META = environ
         self.method = environ['REQUEST_METHOD'].upper()
 
