Ошибка htaccess regax

Ошибка htaccess regax

Я пытаюсь заставить все запросы к серверу перенаправляться в файл index.php с информацией о запросе.

Кроме того, я хочу запретить прямой доступ к файлу index.php.

Вторая часть работает нормально, но по какой-то причине я не могу выполнить первую часть.

  #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]

Что я делаю не так?

решение1

На первый взгляд ничего не бросается в глаза, но если вы справляетесь с решением этой проблемы на PHP, вы можете сделать что-то в верхней части index.php, например, следующее (предполагается, что index.php находится в корне сайта).

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

Связанный контент