我以为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地址栏中并在地址栏中显示。
http://localhost:8080/TEST/some/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>
我找到了答案。其实很简单。我需要删除type="redirect"tuckey网站上示例XML上的内容。而且我发现,重定向时,您必须在to标记中添加上下文应用程序,但是当不重定向时,则不应:
type="redirect"
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>