一尘不染

网址重写是重定向,而不是在后端重写

tomcat

我以为tuckey-urlrewrite-
filter会在后端重写URL。因此,就像我在地址栏中键入内容一样,http://localhost:8080/TEST/some/yo我希望该地址保留在地址栏中,但在后端中供Tomcat处理,就像我键入的一样,http://localhost:8080/TEST/jspinwebinftest/?param=yo
但是它将重定向到http://localhost:8080/TEST/jspinwebinftest/?param=yo地址栏中并在地址栏中显示。

我怎样才能只在后端重写URL?这是我的urlrewrite.xml:

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE urlrewrite
    PUBLIC "-//tuckey.org//DTD UrlRewrite 4.0//EN"
    "http://www.tuckey.org/res/dtds/urlrewrite4.0.dtd">
<urlrewrite>
    <rule>
       <from>^/some/(.*)$</from>
       <to type="redirect">/TEST/jspinwebinftest/?param=$1</to>
    </rule>
</urlrewrite>

阅读 186

收藏
2020-06-16

共1个答案

一尘不染

我找到了答案。其实很简单。我需要删除type="redirect"tuckey网站上示例XML上的内容。而且我发现,重定向时,您必须在to标记中添加上下文应用程序,但是当不重定向时,则不应:

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE urlrewrite
    PUBLIC "-//tuckey.org//DTD UrlRewrite 4.0//EN"
    "http://www.tuckey.org/res/dtds/urlrewrite4.0.dtd">
<urlrewrite>
    <rule>
       <from>^/some/(.*)$</from>
       <to>/jspinwebinftest/?param=$1</to>
    </rule>
</urlrewrite>
2020-06-16