Solved - just for the records, query-param provides two parameters: The request
parameter name such as "to" and the value (regexp) to check for:
<rewrite-dispatch>
<!-- Rewrite former redirect.jsp activities -->
<moved-permanently regexp="^/redirect.jsp"
target="/rewrite-test/option-1.jsp">
<when query-param="to" regexp="06/06_01_02.html"/>
</moved-permanently>
</rewrite-dispatch>
The 4.0 syntax and its example at
http://caucho.com/resin-javadoc/com/caucho/rewrite/IfQueryParam.html was giving
me a better understanding than the actual 3.1 documentation without example.
Steffen
> -----Ursprüngliche Nachricht-----
> Von: BUSCH Steffen
> Gesendet: Mittwoch, 27. Mai 2009 19:15
> An: 'General Discussion for the Resin application server'
> Betreff: Resin-3.1.9 - rewrite-dispatch issue with
> <query-param> condition
>
> Dear all,
>
> I have some trouble with rewrite-dispatch in resin 3.1.9
> Professional regarding the <query-param> condition.
>
> Previously with resin 2.1, I was using a simple JSP page to
> perform some kinds of redirections due to usage of frames.
> For example the URL:
> http://host/redirect.jsp?to=06/06_01_02.html has loaded a
> page for let's say a pricing option-1 in its main content
> with the outer frames as well.
>
>
> Now, with resin 3.1 the structure of the web-app is changed
> and there is a single page called "option-1.jsp" and I would
> like to rewrite requests to that former "redirect.jsp" to the
> new page, but I have to consider the query param for the most
> used invocations. I thought I can achieve this with the
> following <rewrite-dispatch> block inside the <host> tag. For
> a simple test case, I've configured it inside a <web-app>
> called "/rewrite-test":
>
>
> <rewrite-dispatch>
> <!-- Rewrite former redirect.jsp activities -->
> <moved-permanently regexp="^/redirect.jsp"
> target="/rewrite-test/option-1.jsp">
> <when query-param="to=06/06_01_02.html"/>
> </moved-permanently>
> </rewrite-dispatch>
>
> So I thought that a request to
> http://host/rewrite-test/redirect.jsp?to=06/06_01_02.html
> should be moved with 301 to
> http://host/rewrite-test/option-1.jsp due to the exact match
> of the <when query-param="..."> condition. But it does not
> work, so I've enabled 'finest' debug using
>
> <!-- Debug Logging -->
> <log level="finest" path="WEB-INF/debug_${webApp.name}.log"
> timestamp="[%H:%M:%S.%s] {%{thread}} "
> format="[${app.contextPath}] ${log.level}
> ${log.sourceClassName} (${log.sourceMethodName}) ${log.message}">
> <logger name="com.caucho.server.rewrite" level="finest"/>
> <logger name="com.caucho.server.connection.Form" level="finest"/>
> </log>
>
> and got this output:
>
> [18:49:27.309] {http--8080-1$11773344} [/rewrite-test] INFO
> com.caucho.jsp.TldManager (initGlobal) Loading .tld files
> from global classpath [18:49:34.681] {http--8080-1$11773344}
> [/rewrite-test] FINEST
> com.caucho.server.rewrite.RewriteDispatch (map)
> rewrite-dispatch check uri '/redirect.jsp'
> [18:49:34.681] {http--8080-1$11773344} [/rewrite-test] FINER
> com.caucho.server.rewrite.AbstractRuleWithConditions (map)
> match .* '/redirect.jsp' --> '/redirect.jsp'
> [18:49:34.681] {http--8080-1$11773344} [/rewrite-test] FINE
> com.caucho.server.connection.Form (parseQueryString) query:
> to=06/06_01_02.html [18:49:34.681] {http--8080-1$11773344}
> [/rewrite-test] FINER
> com.caucho.server.rewrite.ConditionFilterChain (doFilter)
> null ^/redirect.jsp '/redirect.jsp' --> '/rewrite-test/option-1.jsp'
>
>
>
> and that's what has been tracked by Firefox Live HTTP headers:
>
> GET /rewrite-test/redirect.jsp?to=06/06_01_02.html HTTP/1.1
> Host: localhost:8080
> User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US;
> rv:1.9.0.10) Gecko/2009042316 Firefox/3.0.10
> Accept:
> text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
> Accept-Language: de-de,en-us;q=0.7,en;q=0.3
> Accept-Encoding: gzip,deflate
> Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
> Keep-Alive: 300
> Connection: keep-alive
>
> HTTP/1.x 200 OK
> Server: Resin/3.1.9
> Content-Type: text/html
> Transfer-Encoding: chunked
> Date: Wed, 27 May 2009 17:07:02 GMT
> ----------------------------------------------------------
>
>
>
>
> Am I doing something wrong here? For me it looks like the
> <query-param> condition is not working in this case.
> Thanks for any kind of hints or ideas.
>
>
> Steffen
_______________________________________________
resin-interest mailing list
[email protected]
http://maillist.caucho.com/mailman/listinfo/resin-interest