htaccess - Isso pode ser feito? (IfModules aninhados)

htaccess - Isso pode ser feito? (IfModules aninhados)

Estou tentando redirecionar para um URL se o teste de um módulo for aprovado.

Algo assim (o que parece não funcionar para mim).

Talvez isso simplesmente não seja possível. Qualquer um?

<IfModule mod_rewrite.c>
    <ifModule mod_gzip.c>
        RewriteEngine On
        RewriteRule ^/mod_gzip/?$ mod_gzip-is-enabled.php
    </IfModule>
</IfModule>

Responder1

Contêineres aninhados <IfModule>não são problema seu (sim, isso é possível). (Mas o <IfModule mod_rewrite.c>recipiente externo é necessário?)

Seu problema é oRewriteRule padrão ^/mod_gzip/?$:

RewriteRule ^/mod_gzip/?$ mod_gzip-is-enabled.php

Isso nunca corresponderá em um .htaccesscontexto por diretório, devido ao prefixo de barra noRewriteRule padrão. Você precisa removê-lo, assim:

RewriteRule ^mod_gzip/?$ mod_gzip-is-enabled.php [L]

Para corresponder a um URL solicitado do formulário /mod_gzip/(ou /mod_gzip).

Em arquivos por diretório .htaccess, o caminho da URL que oRewriteRule padrãopartidas contra é menos oprefixo de diretório, que termina notavelmente com uma barra. Portanto, o caminho da URL correspondente nunca começa com uma barra. (Isso difere de quando as diretivas são usadas em um contexto de servidor ou host virtual.)

Além disso, você provavelmente deve incluir o Lsinalizador caso tenha outras diretivas.

informação relacionada