Приветствую,
У меня стоит CodeIgniter, в котором все запросы, если нет такого файла или каталога, идут на index.php. Например, можно открыть site.ru/register - его обработает index.php, в котором уже роутинг.
RewriteEngine On
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
Так же я подключил CloudFlare и мне надо заблокировать все подключения, кроме IP отсюда
https://www.cloudflare.com/ips/
У меня получился такой htaccess
htaccessOrder deny,allow
Deny from all
Allow from 103.21.244.0/22
Allow from 103.22.200.0/22
Allow from 103.31.4.0/22
Allow from 104.16.0.0/12
Allow from 108.162.192.0/18
Allow from 131.0.72.0/22
Allow from 141.101.64.0/18
Allow from 162.158.0.0/15
Allow from 172.64.0.0/13
Allow from 173.245.48.0/20
Allow from 188.114.96.0/20
Allow from 190.93.240.0/20
Allow from 197.234.240.0/22
Allow from 198.41.128.0/17
Allow from 2400:cb00::/32
Allow from 2405:8100::/32
Allow from 2405:b500::/32
Allow from 2606:4700::/32
Allow from 2803:f800::/32
Allow from 2c0f:f248::/32
Allow from 2a06:98c0::/29
RewriteEngine On
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
Но если запросы идут на существующий файл, то всё работает и видим код 200.
А если попытаться обратиться к CodeIgniter, например, к тому же site.ru/register, то видим 403.
Если сделать RewriteEngine Off, то видим код 404, что нет файла register. Да, его нет, но уже нет 403.
Если открыть существующий файл, например, site.ru/assets/style.css - то во всех случаях 200
Так же если принудительно указать index.php, например, site.ru/index.php/register - то тоже во всех случаях 200.
Как совместить RewriteEngine и Order deny,allow?