.htaccess. Как перенаправить все запросы, кроме одного

Я хочу, чтобы все запросы, которые начинаются на backend/ перенаправлялись на ./backend/public/index.php, а все остальные перенаправлялись на index.html. На данный момент ВСЕ запросы перенаправляются на index.html. Как это исправить?

RewriteEngine On
RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

# Если путь начинается с backend/, то перенаправить на ./backend/public/index.php
# UPD. Добавил флаг [L], но всё равно все запросы перенаправляются на index.html
RewriteRule ^backend/* ./backend/public/index.php [L]

# Иначе перенаправить все запросы на index.html
RewriteRule ^(.*)$ index.html

введите сюда описание изображения


Ответы (1 шт):

Автор решения: Mahmadullo Abdulloev
RewriteCond %{REQUEST_URI} !^/public
RewriteCond %{DOCUMENT_ROOT}/public/$1/ !-d [NC]
RewriteRule ^((?!public/).*?)/?$ public/$1 [L,NC]

RewriteCond %{REQUEST_URI} !^/public
RewriteCond %{DOCUMENT_ROOT}/public/$1 -d [NC]
RewriteRule ^((?!public/).+?)/?$ public/$1/ [L,NC]
→ Ссылка