我们正在将基于 JSP 的旧 Web 应用程序移动到 Spring MVC 控制器并使用urlRewriteFilter ( http://tukey.org/urlrewrite/ ) 进行重定向。
我们需要将带有参数的旧 JSP 永久重定向到控制器视图:
FROM: /products/product-detail.jsp?productId=666
TO: /product-detail?id=666
这里重要的是使用type="permanent-redirect"
,因为我们需要重定向对 SEO 友好。
我看过很多使用 urlRewriteFilter 的示例和帖子,所有这些都是处理不带参数的普通 JSP 的重写,例如 some.jsp 到 /newurl
到目前为止,唯一的成就是使用 forward:
<rule>
<name>Product Detail Old</name>
<from>^/products/product-detail.jsp(.*)$</from>
<to type="forward">/product-detail</to>
</rule>
但这当然根本不会重写 URL:
结果是: /products/product-detail.jsp?productId=666
我们也试过这个,但它不起作用:
<rule>
<from>/products/product-detail.jsp?(.+)</from>
<to type="permanent-redirect">/product-detail?$1</to>
</rule>
结果是/product-detail?p
有没有人可以帮助构建一个使用 urlRewriteFilter 满足上述条件的规则?
帮助最受赞赏。