 ===================================================================
 --- twisted/web2/server.py	(revision 18545)
 +++ twisted/web2/server.py	(working copy)
-@@ -1,6 +1,8 @@
- # -*- test-case-name: twisted.web2.test.test_server -*-
- # Copyright (c) 2001-2004 Twisted Matrix Laboratories.
- # See LICENSE for details.
+@@ -19,6 +19,7 @@
+ from zope.interface import implements
+ # Twisted Imports
+ from twisted.internet import defer
 +from twisted.internet.defer import succeed
+ from twisted.python import log, failure
+ 
+ # Sibling Imports
+@@ -26,6 +27,7 @@
+ from twisted.web2 import http_headers
+ from twisted.web2.filter.range import rangefilter
+ from twisted.web2 import error
 +from twisted.web2.dav.util import joinURL
  
- 
- """This is a web-sever which integrates with the twisted.internet
-@@ -150,17 +152,32 @@
+ from twisted.web2 import version as web2_version
+ from twisted import __version__ as twisted_version
+@@ -150,6 +152,9 @@
              self._initialprepath = kw['prepathuri']
              del kw['prepathuri']
  

+        assert "/" not in child_name, "Child name may not contain '/': %s" % (child_name,)
+
+        segment = unquote(child_name)
+
+        def notFound(f):
+            f.trap(http.HTTPError)
+            if f.response.code != responsecode.NOT_FOUND:
+                return f
+            return None
+
+        d = defer.maybeDeferred(self._getChild, None, parent, [segment], updatepaths=False)
+        d.addCallback(self._rememberResource, url)
+        d.addErrback(notFound)
+        return d
+
     def _processingFailed(self, reason):
         if reason.check(http.HTTPError) is not None:
             # If the exception was an HTTPError, leave it alone

         
         d = defer.Deferred()
         d.addCallback(self._getChild, self.site.resource, self.postpath)
+        d.addCallback(self._rememberResource, "/" + "/".join(self.postpath))
         d.addCallback(lambda res, req: res.renderHTTP(req), self)
         d.addCallback(self._cbFinishRender)
         d.addErrback(self._processingFailed)
