Fehler htaccess regax

Fehler htaccess regax

Ich versuche, alle Anfragen an den Server weiterzuleiten, um zur Datei index.php mit den Anfrageinformationen zu gelangen.

Außerdem möchte ich den direkten Zugriff auf die Datei index.php verhindern.

Der zweite Teil funktioniert einwandfrei, aber den ersten Teil kann ich aus irgendeinem Grund nicht ausführen.

  #If the request is for index - prevent from accessing the file directly
    RewriteRule ^(.*)index\.php(.*)$ - [F,L]

#If the request if not for the receiver - redirect to the api server
#RewriteCond !^(*.)campaigns/(\d+)/pictures(.*)$ [NC]
RewriteRule  index.php?request=$1 [NC,QSA,L]

Was mache ich falsch?

Antwort1

Auf den ersten Blick ist mir nichts aufgefallen, aber wenn es für Sie kein Problem ist, dies in PHP zu lösen, können Sie oben in index.php etwas wie das Folgende tun (vorausgesetzt, index.php befindet sich im Stammverzeichnis der Site).

if ($_SERVER['REQUEST_URI'] == '/index.php' || $_SERVER['REQUEST_URI'] == '/') {
    header('HTTP/1.1 403 Forbidden');
    exit;
}

verwandte Informationen