Try adding a re-write rule for /manage as well. RewriteRule ^/manage(.*) \ http://localhost:9080/VirtualHostBase/http/%{SERVER_NAME}:80/VirtualHost Root/manage$1 [L,P] But you will also need the following to get the images (object icons, etc...) RewriteRule ^/_p(.*) \ http://localhost:9080/VirtualHostBase/http/%{SERVER_NAME}:80/VirtualHost Root/_p$1 [L,P] Put these before your catch-all rule. In all truth, I never put the _vh_ stuff in the re-write paths, partly because I myself never quite understood their use. The above lines should work for you. -jim -----Original Message----- From: JohanNyberg@tsl.uu.se [mailto:JohanNyberg@tsl.uu.se] Sent: Wednesday, April 07, 2004 10:16 AM Cc: zope@zope.org Subject: [Zope] Apache 2 and Zope Integration Hi, I have also tried to solve this problem without success. I simply want Zope to serve the contents of http://myhost.mydomain/zope, while Apache2 serves all other files via http://myhost.mydomain/. I can reach the Zope Quick Start page, which in my case is at http://myhost.mydomain/zope, but when I click on the Zope Management Interface link on this page I get the error The requested URL /manage was not found on this server. I also get an error in the apache error log: [Wed Apr 07 15:33:17 2004] [error] [client <removed>] File does not exist: /var/www/html/manage_page_style.css, referer: http://myhost.mydomain/zope/ which is probably why the style of the zope pages does not look so nice. If I manually go to http://myhost.mydomain/zope/manage, I can login to zope, but the whole idea with the rewrite rule was that zope should add /zope/ to the URL of all referenced files, but it does not. The same problem occurs when I try to logout of zope: The requested URL /manage_zmi_logout was not found on this server. Zope did not add /zope/ to the URL of the logout link. I can logout manually if I direct the browser to http://myhost.mydomain/zope/manage_zmi_logout. I am using Linux Mandrake 9.2/cooker, zope-2.7.0, apache-2.0.49. I have created a VHM in Zope and these are my rewrite rules for apache2: NameVirtualHost * <VirtualHost *> ServerName myhost.mydomain <IfModule mod_rewrite.c> RewriteEngine On RewriteLog "/var/log/apache2/rewrite_log" RewriteLogLevel 2 RewriteRule ^/zope$ \ http://localhost:9080/VirtualHostBase/http/%{SERVER_NAME}:80/VirtualHost Root/_vh_zope [L,P] RewriteRule ^/zope(.*) \ http://localhost:9080/VirtualHostBase/http/%{SERVER_NAME}:80/VirtualHost Root/_vh_zope/$1 [L,P] RewriteRule ^/(.*) - [L] </IfModule> <IfModule mod_proxy.c> ProxyVia On # prevent the webserver from beeing used as proxy <LocationMatch "^[^/]"> Deny from all </LocationMatch> </IfModule> </VirtualHost> Any help is appreciated! Johan -------------------------------- Jim Kutter jim at ebizq.net Fri Apr 2 16:08:14 EST 2004 I got hit with the same snag when I first dove into this as well. Don't use the Proxy stuff directly, use it via mod_rewrite. I forget where I finally found that info. This is from my configs: RewriteEngine on # local requests for images redirect to real web server RewriteRule ^/web_resources(.*) http://<removed>/web_resources$1 [L,R] RewriteRule ^/web_images/style.css http://homer:8080/newsite/style.css [L,P] RewriteRule ^/web_images(.*) http://<removed>/web_images$1 [L,R] RewriteRule ^/z_images(.*) http://<removed>/z_images$1 [L,R] # insider (zope content) RewriteRule ^/insider(.*) http://<removed>/VirtualHostBase/http/<removed>:80/sections/VirtualHostR oot/insider$1 [L,P] Good luck! -jim -----Original Message----- From: Ade Fewings [mailto:ade at informatics.bangor.ac.uk] Sent: Friday, April 02, 2004 3:56 PM To: zope at zope.org Subject: [Zope] Apache 2 and Zope Integration Hi all, I'm trying to persuade our powers-that-be that a switch-over to using Zope for our website would be "a good idea". For this, the best way for me to achieve things is using Zope and the existing Apache stuff together. I've been following the guide at http://zope.org/Members/anser/apache_zserver for using Apache's Inverse Proxy ability to reach our Zope installation. However, I am having the problem that i have to log in twice to the management interface and then when i come to log out of it, i get the following error from Apache: The requested URL /manage_zmi_logout was not found on this server. I have the following in httpd.conf [changed the names to protect the server]: ProxyPass /Zope http://a.b.com:81/ ProxyPassReverse /Zope http://a.b.com:81/ ProxyPass /misc_ http://a.b.com:81/misc_ ProxyPass /p_ http://a.b.com:81/p_ I have also added the SiteRoot object in the management root. Does anybody have any idea what i might have done wrong? Is it because we are using Apache 2 [2.0.48]? Many thanks Ade _______________________________________________ Zope maillist - Zope at zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev ) _______________________________________________ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )
Hi Jim! Thanks a lot for a very fast reply which solved the problem! There was a small misprint in your mail: it should say p_ instead of _p. I also had to add a RewriteRule for misc_ (there were errors in the apache error saying: File does not exist: /var/www/html/misc_). However, it seems to me your proposal is a somewhat brute force way of solving the problem. Zope "should" add /zope/ to all URL:s it delivers, but it does not. In any case, my problem is solved for the moment. This is my current VirtualHost definition that works for me: NameVirtualHost * <VirtualHost *> ServerName myhost.mydomain <IfModule mod_rewrite.c> RewriteEngine On # use RewriteLog to debug problems with your rewrite rules # disable it after you found the error our your harddisk will be filled *very fast* #RewriteLog "/var/log/apache2/rewrite_log" #RewriteLogLevel 2 RewriteRule ^/zope(.*) \ http://localhost:9080/VirtualHostBase/http/%{SERVER_NAME}:80/VirtualHostRoot/_vh_zope/$1 [L,P] RewriteRule ^/manage(.*) \ http://localhost:9080/VirtualHostBase/http/%{SERVER_NAME}:80/VirtualHostRoot/manage$1 [L,P] RewriteRule ^/p_(.*) \ http://localhost:9080/VirtualHostBase/http/%{SERVER_NAME}:80/VirtualHostRoot/p_$1 [L,P] RewriteRule ^/misc_(.*) \ http://localhost:9080/VirtualHostBase/http/%{SERVER_NAME}:80/VirtualHostRoot/misc_$1 [L,P] RewriteRule ^/(.*) - [L] </IfModule> <IfModule mod_proxy.c> ProxyVia On # prevent the webserver from beeing used as proxy <LocationMatch "^[^/]"> Deny from all </LocationMatch> </IfModule> </VirtualHost> Thanks again for your help. Johan On Wed, 07 Apr 2004, Jim Kutter wrote:
Try adding a re-write rule for /manage as well.
RewriteRule ^/manage(.*) \
http://localhost:9080/VirtualHostBase/http/%{SERVER_NAME}:80/VirtualHost Root/manage$1 [L,P]
But you will also need the following to get the images (object icons, etc...) RewriteRule ^/_p(.*) \
http://localhost:9080/VirtualHostBase/http/%{SERVER_NAME}:80/VirtualHost Root/_p$1 [L,P]
Put these before your catch-all rule.
In all truth, I never put the _vh_ stuff in the re-write paths, partly because I myself never quite understood their use. The above lines should work for you.
-jim
-----Original Message----- From: JohanNyberg Sent: Wednesday, April 07, 2004 10:16 AM Cc: zope@zope.org Subject: [Zope] Apache 2 and Zope Integration
Hi,
I have also tried to solve this problem without success. I simply want Zope to serve the contents of http://myhost.mydomain/zope, while Apache2 serves all other files via http://myhost.mydomain/.
I can reach the Zope Quick Start page, which in my case is at http://myhost.mydomain/zope, but when I click on the Zope Management Interface link on this page I get the error
The requested URL /manage was not found on this server.
I also get an error in the apache error log:
[Wed Apr 07 15:33:17 2004] [error] [client <removed>] File does not exist: /var/www/html/manage_page_style.css, referer: http://myhost.mydomain/zope/
which is probably why the style of the zope pages does not look so nice. If I manually go to http://myhost.mydomain/zope/manage, I can login to zope, but the whole idea with the rewrite rule was that zope should add /zope/ to the URL of all referenced files, but it does not. The same problem occurs when I try to logout of zope:
The requested URL /manage_zmi_logout was not found on this server.
Zope did not add /zope/ to the URL of the logout link. I can logout manually if I direct the browser to http://myhost.mydomain/zope/manage_zmi_logout.
I am using Linux Mandrake 9.2/cooker, zope-2.7.0, apache-2.0.49. I have created a VHM in Zope and these are my rewrite rules for apache2:
NameVirtualHost * <VirtualHost *> ServerName myhost.mydomain <IfModule mod_rewrite.c> RewriteEngine On RewriteLog "/var/log/apache2/rewrite_log" RewriteLogLevel 2 RewriteRule ^/zope$ \
http://localhost:9080/VirtualHostBase/http/%{SERVER_NAME}:80/VirtualHost Root/_vh_zope [L,P] RewriteRule ^/zope(.*) \
http://localhost:9080/VirtualHostBase/http/%{SERVER_NAME}:80/VirtualHost Root/_vh_zope/$1 [L,P] RewriteRule ^/(.*) - [L] </IfModule> <IfModule mod_proxy.c> ProxyVia On # prevent the webserver from beeing used as proxy <LocationMatch "^[^/]"> Deny from all </LocationMatch> </IfModule> </VirtualHost>
Any help is appreciated!
Johan
-------------------------------- Jim Kutter jim at ebizq.net Fri Apr 2 16:08:14 EST 2004
I got hit with the same snag when I first dove into this as well.
Don't use the Proxy stuff directly, use it via mod_rewrite. I forget where I finally found that info.
This is from my configs:
RewriteEngine on
# local requests for images redirect to real web server RewriteRule ^/web_resources(.*) http://<removed>/web_resources$1 [L,R] RewriteRule ^/web_images/style.css http://homer:8080/newsite/style.css [L,P] RewriteRule ^/web_images(.*) http://<removed>/web_images$1 [L,R] RewriteRule ^/z_images(.*) http://<removed>/z_images$1 [L,R]
# insider (zope content) RewriteRule ^/insider(.*) http://<removed>/VirtualHostBase/http/<removed>:80/sections/VirtualHostR oot/insider$1 [L,P]
Good luck!
-jim
-----Original Message----- From: Ade Fewings [mailto:ade at informatics.bangor.ac.uk] Sent: Friday, April 02, 2004 3:56 PM To: zope at zope.org Subject: [Zope] Apache 2 and Zope Integration
Hi all,
I'm trying to persuade our powers-that-be that a switch-over to using Zope for our website would be "a good idea". For this, the best way for
me to achieve things is using Zope and the existing Apache stuff together. I've been following the guide at http://zope.org/Members/anser/apache_zserver for using Apache's Inverse Proxy ability to reach our Zope installation. However, I am having the problem that i have to log in twice to the management interface and then
when i come to log out of it, i get the following error from Apache:
The requested URL /manage_zmi_logout was not found on this server.
I have the following in httpd.conf [changed the names to protect the server]:
ProxyPass /Zope http://a.b.com:81/ ProxyPassReverse /Zope http://a.b.com:81/ ProxyPass /misc_ http://a.b.com:81/misc_ ProxyPass /p_ http://a.b.com:81/p_
I have also added the SiteRoot object in the management root.
Does anybody have any idea what i might have done wrong? Is it because we are using Apache 2 [2.0.48]?
Many thanks Ade
participants (2)
-
Jim Kutter -
JohanNyberg@tsl.uu.se