Обработка переписывания URL-адресов и статических файлов с помощью Kraken JS

У меня есть одностраничное приложение, которое я конвертирую из более традиционной установки Apache в KrakenJS. Все идет действительно хорошо, за исключением одного бита.

Приложение использует сокеты для изменения своего состояния, и мы использовали для создания дружественных URL-адресов для наших пользователей, чтобы вернуться к предыдущему поиску. Используя настройку.htaccess следующим образом:

RewriteCond  %{REQUEST_FILENAME} !-f
RewriteCond  %{REQUEST_FILENAME} !-d
RewriteCond $1 !^(favicon\.ico|favicon\.png|media|robots\.txt|crossdomain\.xml|css|js)
RewriteRule ^(.*)$ index.php [L]

Таким образом, наши статические файлы были обработаны правильно, а все остальное было перенаправлено в index.php, который обрабатывал анализ и продолжал запрашивать правильные результаты (например: example.com/section1/category1, перенаправлял бы на главную страницу, и отправьте запрос через сокет для элементов section1,category1.

Я попытался изменить мой основной маршрут в index.js, чтобы добавить подстановочный знак, но он не может обработать статические файлы (RewriteCond $1 !^(*static extensions*))

router.get('/', function (req, res) {
   ...
}

Это хорошо работает для случая использования, когда пользователь начинает с главной страницы, но (очевидно) дает мне несуществующие маршруты, если я хочу получить прямой доступ к /sec1/cat1

router.get('*', function (req, res) {
   ...
}

Этот перенаправляет правильно, но не может найти статические файлы.

Есть идеи, как обрабатывать статические файлы аналогично RewriteCond?

0 ответов

Другие вопросы по тегам