[Zope] REPOST Re: ZServer/ZPublisher proxying, or move to "full zope"; need consultant

Tino Wildenhain tino at wildenhain.de
Mon Sep 13 01:32:06 EDT 2004


Hi,

Am Mo, den 13.09.2004 schrieb Royce um 1:14:
> Reposting as I didn't get any help on this and have a big ZPublisher
> app I need to convert. I am willing to pay someone for their time to
> help solve this.
> 
> I have the proxying kind of working, using ProxyPass directives from
> apache port 80 to ZServer port 9673. Running into the <base href=...>
> headache (what I was calling BaseLocation problem in prior message),
> and am not sure what to do about it. For the full zope setup, SiteRoot
> works fine, but for my ZPublisher app, I'm having trouble. I think I
> need to create an equivalent to a SiteRoot object for the ZPublisher
> app, and insert it in one or more places, so it patches up the URLs
> correctly. Stuck in the thick forest - help! :)
> 
> I discovered by reading publisher code that I could set <base href="">
> in my standard page header and that stopped zope from writing its
> <base href> tag, but still anywhere I use REQUEST.URL1 or similar, I
> am in apache/zserver port hell.
> 
> Any thoughts appreciated on this. As I said, I am willing to pay
> someone for their help.

This is not so hard as you think. First of all, throw away your
SiteRoot object, since you wont need it when you run with Apache.

Create one Virtual Host Monster object (any id will do) but
dont configure anything there. The manage Page of VHM should
tell you how your URLs should look like when they come from
the proxy.  

With Apache mod_rewrite its like:

RewriteEngine on
RewriteRule ^/(.*)
http://yourzopehost:zopeport/VirtualHostBase/http/%{HTTP_HOST}:80/VirtualHostRoot/$1 [P,L]

Where %{HTTP_HOST} is replaced by apache with the hostname the
client addressed. You can set a fixed name here too.

HTH
Tino Wildenhain



More information about the Zope mailing list