UrlRewriteFilter规则删除JSP文件扩展名

时间:2016-10-16 14:02:04

标签: jsp tomcat file-extension tuckey-urlrewrite-filter

我想使用UrlRewriteFilter以通用方式删除JSP文件扩展,以避免为150多个文件指定单独的servlet映射。有谁知道这样的规则是什么?

从* .jsp到*

ie:/ LOGin.jsp将被翻译为/ Login

1 个答案:

答案 0 :(得分:0)

因此经过多次实验后,我发现了如何使用urlrewrite从所有页面中删除JSP扩展。下面的规则会翻译页面URI中包含1个或多个字符的任何页面,并将其转发到[页面名称] .jsp

如果不是我的网站的上下文根目录下的JSP页面,那么重要的是不要触发规则,所以我排除文件夹中的文件css,img,css,product-img

<?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 match-type="regex">
         <condition type="request-url" operator="notequal">^.*\.jsp$</condition>

        <condition type="request-url" operator="notequal">/css/.*</condition>
        <condition type="request-url" operator="notequal">/img/.*</condition>
        <condition type="request-url" operator="notequal">/js/.*</condition>
        <condition type="request-url" operator="notequal">/product-img/.*</condition>

        <from>/.+(?:(?!jsp).).$</from>
        <to type="forward">%{request-uri}.jsp</to>
    </rule>
</urlrewrite>

可以在tuckey的maven网站上找到jar文件https://mvnrepository.com/artifact/org.tuckey/urlrewritefilter/4.0.3(主页上的下载链接已断开)

这是他的主要网站urlrewrite main site