The correct thing to use in a recent Zope is REQUEST['ACTUAL_URL'].


George Lee wrote:
Two main questions:
  (1) Does anybody *have* good documentation on VIRTUAL_URL and how it
interacts with CookieCrumbler and VirtualHostMonster?
  (2) Does anyone know how to debug VirtualHostMonster or other Python
libraries while running a Zope instance (it lives in Python not in
Zope, so I don't know if I change the code there if those changes will
actually get executed)?

For people who care to read more about what I think is going on:

Well, where is VIRTUAL_URL documented? Why doesn't Plohn do something
sane if it's not there?

It's not Plone's issue from what I can tell. CookieCrumbler, which
lives in CMF, does do something sane if VIRTUAL_URL is not there -- it
tries to create a substitute URL.

VIRTUAL_URL is set by the VirtualHostMonster. Does anyone know how to
debug it? Because it is in the python directories used to build Zope,
not in a Zope product which I know how to debug. (Is there a way to
restart python to register changes in

Here is what I can tell of what is going on:

(1) VIRTUAL_URL is supposed to return the actual URL when there is a
Virtual Hosting Monster, for instance
instead of http://ip:port/path/to/subdomain/object or

(2) There's an Apache rewrite rule set to transform URL requests like to
http://ip:port/VirtualHostBase/http/ before they
get sent into Zope.

(3) When VirtualHostMonster receives a request like
http://ip:port/VirtualHostBase/http/, it is
supposed to return the currect object at
http://ip:port/path/to/subdomain/object and set a variable VIRTUAL_URL in the REQUEST variable.

(4) When navigating to an authenticated-only page, CMFCore's
CookieCrumbler sets a "came_from" variable to remember where to go. To
set the "came_from" variable, it first looks for VIRTUAL_URL. If it
doesn't find it, it uses another method to set "came_from" -- but this
returns an URL, and one that does not work.

(5) During login in Plone to a authenticated-only page, it uses
CMFCore's CookieCrumbler came_from variable.

I'm wondering if CookieCrumbler is supposed
to set VIRTUAL_URL given that there's a VHM installed and doesn't?

It's probably some code in the publisher or vhm. Maybe it's something
that didn't get merged from a branch or the trunk.

Your best bet is to come up with minimal (ie: no plone, no cookie
crumbler, etc) way to reproduce this and file a bug report in the collector.

Oh, and grab yourself a copy of grep and see where this should be
defined ;-)



Simplistix - Content Management, Zope & Python Consulting

Zope maillist  -  [EMAIL PROTECTED]
**   No cross posts or HTML encoding!  **
(Related lists - )


Florent Guillaume, Nuxeo (Paris, France)   CTO, Director of R&D
+33 1 40 33 71 59   [EMAIL PROTECTED]
Zope maillist  -
**   No cross posts or HTML encoding!  **
(Related lists - )

Reply via email to