Я пытаюсь заставить все запросы к серверу перенаправляться в файл 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;
}