Как перенаправлять всегда на кокнретную папку, кроме одного случая?
Есть у меня в корне проекта папки backend/index.php и frontend/index.html
Как мне прописать в корне проекта в файле .htaccess правила, чтобы любые запросы в url отправлялись в папку frontend/index.html, а если в url начинается с api, то в backend/index.php? Пробовал по-всякому, но я не знаю .htaccess хорошо и поэтому всё не выходит.
Например вот это:
<IfModule mod_rewrite.c>
Options +FollowSymlinks
RewriteEngine On
</IfModule>
<IfModule mod_rewrite.c>
Rewritecond %{REQUEST_FILENAME} !-f
RewriteRule (.*) /frontend/index.html?$1 [L,NC]
RewriteRule /api /backend/index.php
</IfModule>
Направляет только на фронтенд. Причём там new UrlSearcParams().toString() показывает пустоту..
Ответы (1 шт):
Направляет только на фронтенд. Причём там new UrlSearcParams().toString() показывает пустоту..
Вы делаете внутренний редирект, переадресация происходит на стороне сервера, тогда как JavaScript видит только то, что есть в адресной строке браузера. Чтобы сделать внешний редирект, можно поставить флаг например [R=301] или напечатать полученный массив гет-параметров серверным скриптом в переменную JavaScript при выводе страницы.
<IfModule mod_rewrite.c>
Options +FollowSymlinks
RewriteEngine On
Rewritecond %{REQUEST_FILENAME} !-f
Rewritecond %{REQUEST_URI} !/api
RewriteRule .* /frontend/index.html [L]
Rewritecond %{REQUEST_FILENAME} !-f
Rewritecond %{REQUEST_URI} /api
RewriteRule .* /backend/index.php [L]
</IfModule>