htaccess if-Direktive funktioniert nicht

htaccess if-Direktive funktioniert nicht

Die folgende Anweisung scheint fehlzuschlagen, da sie zu einem 403-Fehler führt. Der Server unterstützt Version 2.4 von Apache.

<If "%{REQUEST_URI} =~ m#^(.*)?/uploads/(.*\.txt)#">
    Require all denied
</If>

Ziel der Direktive ist es, alle Anfragen und/oder die Ausführung von Textdateien im Verzeichnis „upload“ zu unterbinden. Die htaccess-Datei befindet sich im Stammverzeichnis des Webverzeichnisses.

Basierend auf der Dokumentation vonApacheDie Syntax ist korrekt und sollte funktionieren.

Antwort1

Sie können Folgendes versuchen:

<If "%{REQUEST_URI} =~ m#^.*/uploads/.*\.txt#">
    Require all denied
</If>
<Else>
    Require all granted
</Else>

verwandte Informationen