htaccess – Ist das möglich? (Verschachtelte IfModule)

htaccess – Ist das möglich? (Verschachtelte IfModule)

Ich versuche, zu einer URL weiterzuleiten, wenn ein Test für ein Modul erfolgreich ist.

So etwas wie das hier (was bei mir nicht zu funktionieren scheint.)

Vielleicht ist das einfach nicht möglich. Jemand?

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

Antwort1

Verschachtelte <IfModule>Container sind nicht Ihr Problem (ja, das ist möglich). (Aber ist der äußere <IfModule mod_rewrite.c>Container notwendig?)

Ihr Problem ist dieRewriteRule Muster ^/mod_gzip/?$:

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

Dies wird in einem Verzeichniskontext nie passen .htaccess, wegen des Schrägstrichpräfixes auf demRewriteRule Muster. Sie müssen es wie folgt entfernen:

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

Um einer angeforderten URL des Formulars /mod_gzip/(oder /mod_gzip) zuzuordnen.

In Verzeichnisdateien .htaccesswird der URL-Pfad, den dieRewriteRule MusterSpiele gegen ist weniger dieVerzeichnispräfix, die mit einem Schrägstrich endet. Der übereinstimmende URL-Pfad beginnt also nie mit einem Schrägstrich. (Dies ist anders, wenn die Anweisungen in einem Server- oder Virtualhost-Kontext verwendet werden.)

Außerdem sollten Sie das LFlag wahrscheinlich einschließen, falls Sie andere Anweisungen haben.

verwandte Informationen