У меня есть приложение angular с несколькими маршрутами, например:
site.com/
site.com/page
site.com/page/4
Используя режим маршрутизации angular html5, они корректно разрешаются, когда вы нажимаете на них ссылки из приложения, но, конечно же, 404 ошибки при интенсивном обновлении. Чтобы исправить это, я попытался реализовать базовый перехват htaccess.
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_METHOD} !OPTIONS
RewriteRule ^(.*)$ index.html [L]
Это работает для запросов angular, однако, когда я пытаюсь загрузить скрипты или сделать ajax-вызовы в моем домене, например:
<script src="/app/programs/script.js"></script>
Этот script не загружается - запрос перенаправляется и пытается загрузить страницу index.html, поскольку .htaccess считает, что он должен перенаправить запрос - не зная, что этот файл существует, и он должен загрузить файл вместо перенаправления.
Есть ли способ, чтобы htaccess перенаправлял запрос index.html(с параметрами представления) только в том случае, если нет фактического файла, который он должен решить?