[Zope] Strange issues at string operations with request variables

Jaroslav Lukesh lukesh at seznam.cz
Thu Jan 5 16:32:39 UTC 2012


Hi,

I was try the python script, but no success.

The final cut (as Murphy law says):
<dtml-call 
expr="RESPONSE.redirect('http://www.otherdomain.com/path/to/document', 
status=301)">

1. At Zope 2.10.13 redirect to samedomain which cause loop, not to the 
otherdomain.

2. At Zope 2.7 this redirect is redirected to otherdomain which is expected. 
At Zope 2.7 I was not test redirect with PySript.

So I use redirect to home page.


----- Puvodní zpráva ----- 
Od: William Heymann


What I would do is do this with a python script instead of DTML. You will 
find this kind of stuff is much simpler with a python script you just call 
from DTML


something like


REQUEST['redirect_URL'] = 'http://www.otherdomain.com' + REQUEST.URLPATH0



2012/1/4 Jaroslav Lukesh <lukesh at seznam.cz>

Hi all,

I have discovered strange issues with all request variables. Here are 
examples only, but I was try all useable variables in the REQUEST.

I want to use redirect to another server with same relative link, but 
different domain,some like that:

<dtml-call "REQUEST.set('redirect_URL', 'http://www.otherdomain.com' + 
URLPATH0)">
<dtml-call expr="RESPONSE.redirect(_.str(redirect_URL), status=301)">

It does not work even if I make obstructions for request variables like 
_.str(), _[''] etc.

In cases below variable 'redirect_URL' seems OK, but redirect goes into 
loop.

<dtml-call "REQUEST.set('redirect_URL', 'http://www.otherdomain.com' + 
PATH_TRANSLATED)">
<dtml-call "REQUEST.set('redirect_URL', 'http://www.otherdomain.com' + 
_.str(_['URLPATH1']))">
<dtml-call "REQUEST.set('redirect_URL', 'http://www.otherdomain.com')">

In cases below variable 'redirect_URL' = 'h'.

<dtml-call "REQUEST.set('redirect_URL', 
URL.replace(BASE0,'http://www.otherdomain.com')[0])">
<dtml-call "REQUEST.set('redirect_URL', 
URL.replace(_.string.split(HTTP_HOST,':')[0],'www.otherdomain.com')[0])">


I was try different (very old) Zope, but result is the same.

It is possible my uncorrect handle with request variables, but how to handle 
correct with them?

Many thanks,

J. Lukesh



More information about the Zope mailing list