You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

UrlRewriteFilter正则规则不符合预期,求助解决

问题解决:UrlRewrite规则大小写匹配不符合预期

问题原因

你使用的Tuckey UrlRewriteFilter(Liferay 6.2内置版本)默认正则匹配不区分大小写,所以即使规则里写的是大写RDC,依然会匹配小写rdc的请求。

解决方案

方案1:单个规则强制区分大小写

修改RDC和IN的规则,在正则中加入(?-i)标记,强制该部分正则区分大小写,不受全局默认设置影响:

<rule>        
    <from>^/documents/.*(?-i)RDC.*$</from>        
    <to type="permanent-redirect">https://anvisalegis.datalegis.net/action/ActionDatalegis.php?acao=categorias&amp;cod_modulo=310&amp;menuOpen=true</to>    
</rule>

<rule>        
    <from>^/documents/.*(?-i)IN.*$</from>        
    <to type="permanent-redirect">https://anvisalegis.datalegis.net/action/ActionDatalegis.php?acao=categorias&amp;cod_modulo=310&amp;menuOpen=true</to>    
</rule>

方案2:全局开启大小写敏感

在<urlrewrite>根标签添加case-sensitive="true"属性,让所有规则默认区分大小写。那些需要不区分大小写的规则(比如consulta、guia)里的(?i)局部标记依然会生效,不受全局设置影响:

<urlrewrite case-sensitive="true">
    <!-- 原有所有规则内容 -->
</urlrewrite>

额外注意

确保规则顺序正确:你配置中^/documents/.*$这个兜底规则已经放在所有更具体的/documents规则之后,这个顺序是正确的,能保证具体规则优先匹配。

内容的提问来源于stack exchange,提问作者jeanpdt

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.16 00:24:52