使用Tuckey URL Rewrite添加文件扩展名

时间:2015-01-13 10:42:20

标签: regex tomcat tuckey-urlrewrite-filter

我正在使用tuckey url重写过滤器,我想将语言扩展名(.cfm)添加到一个干净的URL。 (我知道我假设路径中的最后一个字总是脚本。)

例如,我想将.cfm添加到

/someScript
/module/employee/anotherScript

并且显然不是已经有扩展的路径(定义为具有句点)

/someScript.cfm
/module/employee/anotherScript.cfm

这是我想到的正则表达式规则:

<rule>
    <from>^((?!\.)[\w/])*$</from>
    <to type="redirect" last="true" qsappend="true">$0.cfm</to>
</rule>

这就是问题所在。我还想允许一个可选的尾部斜杠,以便删除斜杠并添加文件扩展名。

/someScript/
/module/employee/anotherScript/

如何重新编写正则表达式规则以忽略可选的尾部斜杠?

2 个答案:

答案 0 :(得分:1)

^((?:(?!\.)[\w\/])*?)\/?$

试试这个。参见demo。替换$1.cfm

https://regex101.com/r/fA6wE2/6

答案 1 :(得分:0)

玩完之后,这似乎有效:

^((\/?[\w\/\-_])*\b)\/?$
Redirect to $1.cfm