Q_BASIC
@Q_BASIC
Программист

Конфликт RewriteEngine и Order deny,allow?

Приветствую,

У меня стоит 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
htaccess
Order 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?
  • Вопрос задан
  • 17 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через TM ID
Похожие вопросы
Amigoweb Магнитогорск
от 35 000 до 60 000 руб.
ICONIC Москва
от 200 000 руб.