UrlRewriteFilter 正则表达式规则未按预期工作

问题描述 投票:0回答:1

我向 urlrewrite.xml 文件添加了一些规则,但它没有按预期工作。

规则

<from>^/documents/.*RDC.*$</from>
,仅应在 URL 包含大写“RDC”时进行重定向,但也会针对小写“rdc”进行重定向

http://my-server/documents/test-RDC.pdf

我使用的是Liferay 6.2,witch在版本7上有一个tomcat服务器。

有人可以帮忙吗?

liferay-dir/tomcat/webapps/ROOT/WEB-INF/urlrewrite.xml

<?xml version="1.0"?>
<!DOCTYPE urlrewrite PUBLIC "-//tuckey.org//DTD UrlRewrite 2.6//EN" "http://tuckey.org/res/dtds/urlrewrite2.6.dtd">

<urlrewrite>
    <!-- Regras de redirecionamento por palavra-chave (Cenário 2) -->
    <rule>
        <from>^/documents/.*(?i)consulta.*$</from>
        <to type="permanent-redirect">https://anvisalegis.datalegis.net/action/ActionDatalegis.php?acao=categorias&amp;cod_modulo=630&amp;menuOpen=true</to>
    </rule>

    <rule>        
        <from>^/documents/.*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/.*IN.*$</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)guia.*$</from>
        <to type="permanent-redirect">https://anvisalegis.datalegis.net/action/ActionDatalegis.php?acao=categorias&amp;cod_modulo=644&amp;menuOpen=true</to>
    </rule>

    <!-- Regras de redirecionamento direto (Cenário 1) -->
    <rule>
        <from>^/legislacao(#/.*)?$</from>
        <to type="permanent-redirect">https://anvisalegis.datalegis.net/action/AutenticacaoAction.php?acao=acessarModuloCidadao</to>
    </rule>
    <rule>
        <from>^/propostas-regulatorias(#/.*)?$</from>
        <to type="permanent-redirect">https://anvisalegis.datalegis.net/action/AutenticacaoAction.php?acao=acessarModuloCidadao</to>
    </rule>
    <rule>
        <from>^/documents/.*$</from>
        <to type="permanent-redirect">https://anvisalegis.datalegis.net/action/AutenticacaoAction.php?acao=acessarModuloCidadao</to>
    </rule>
    <rule>
        <from>^/consultas-publicas(#/.*)?$</from>
        <to type="permanent-redirect">https://anvisalegis.datalegis.net/action/ActionDatalegis.php?acao=categorias&amp;cod_modulo=630&amp;menuOpen=true</to>
    </rule>
    <rule>
        <from>^/editais-de-chamamento(#/.*)?$</from>
        <to type="permanent-redirect">https://anvisalegis.datalegis.net/action/ActionDatalegis.php?acao=categorias&amp;cod_modulo=630&amp;menuOpen=true</to>
    </rule>
    <rule>
        <from>^/tap(#/.*)?$</from>
        <to type="permanent-redirect">https://anvisalegis.datalegis.net/action/ActionDatalegis.php?acao=categorias&amp;cod_modulo=631&amp;menuOpen=true</to>
    </rule>
    <rule>
        <from>^/guias(#/.*)?$</from>
        <to type="permanent-redirect">https://anvisalegis.datalegis.net/action/ActionDatalegis.php?acao=categorias&amp;cod_modulo=644&amp;menuOpen=true</to>
    </rule>
</urlrewrite>

java tomcat liferay tomcat7
1个回答
0
投票

<from>
元素支持
casesensitive
布尔属性,默认为 false。

因此,为所需的行为指定值为

true
的属性。

使用这些文档供参考

<from casesensitive="true">^/documents/.*RDC.*$</from>        
© www.soinside.com 2019 - 2024. All rights reserved.