Ok, I think I found a fix for it, but it's not a change in VHM.

As I mentioned in a follow-up to Zope bug 235, there is an inconsistency
in lib/python/ZPublisher/HTTPRequest.py in HTTPRequest.setVirtualRoot()

The attached patch (also in the bug report) explains what this
inconsistency is and seems to fix the VHM problem, but I don't know what
other side-effects it has. The 'utilities/testrunner.py -a' seems to run
ok.

On Wed, 2002-02-20 at 16:29, Leonardo Rochael Almeida wrote:
> Hi guys,
> 
> I bring to your attention the bug
> "235":http://collector.zope.org/Zope/235 in the Zope collector, which I
> just posted.
> 
> Apparently VHM is inserting exactly one spurious '/' in urls when the
> _vh_folder syntax is used. The problem seems to be in the
> VirtualHostMonster.__call__ method at
> lib/python/Products/SiteAccess/VirtualHostMonster.py, which has changed
> a lot relative to the 2.4.x version, however I couldn't make head or
> tails of that algorithm, so I wouldn't know how to fix it.
> 
> This problem is seriously hampering our deployment of Zope 2.5.0 on
> clients, since most of the time we publish the root of the site from a
> Zope Folder and need the _vh_folder syntax to access the real Zope root
> for manteinance.
> 
> Cheers, Leo
> 
> PS: since we're talking about the collector, I'll also plug the other
> but I posted there "http://collector.zope.org/Zope/167";, which talks
> about a problem with SuperFind() and includes a simple fix. It's still
> pending...

-- 
Ideas don't stay in some minds very long because they don't like
solitary confinement.

--- HTTPRequest.py.orig Wed Feb 20 19:14:20 2002
+++ HTTPRequest.py      Wed Feb 20 19:16:00 2002
@@ -158,7 +158,8 @@
         """ Treat the current publishing object as a VirtualRoot """
         other = self.other
         if type(path) is type(''):
-            path = filter(None, path.split( '/'))
+            path = path.split('/')
+        path = filter(None, path)
         self._script[:] = map(quote, path)
         del self._steps[:]
         parents = other['PARENTS']

Reply via email to