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