aiohttp как написать маршрут для single page приложения c бэкендом на aiohttp (в отладочных целях)

102 views
Skip to first unread message

Михаил Разговоров

unread,
Mar 27, 2019, 3:46:21 PM3/27/19
to aio-libs
имеем singlepage приложение, в моем случае vue. набор статических файлов 
проблема в роутере фронта
для его настройки на apache нужен следующий конфиг

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.html$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.html [L]
</IfModule>

а на nginx

location / {
try_files $uri $uri
/ /index.html; 
} 

т.е. надо все пути ниже родительского url завернуть на  index.html 
и все это статика

например и '/' и '/device' должны быть переданы на index.html с сохранением url

пробовал добавлять различные комбинации статических маршрутов. каменный цветок не вышел
от корневого урла все работает отлично, а открыть по прямой ссылке не выходит.
вероятно надо какой то редирект при отсутствии статического файла или при обращении к 'папке'
на идеях со мидлеваре фабрикой для статики мысли закончились, как то жестко

подскажите пожалуйста есть ли возможность и если да то как настроить роутер aiohttp таким образом?


ps я знаю что вы не рекомендуете использовать aiohttp для выдачи статики особенно на продуктиве

Михаил Разговоров

unread,
Mar 29, 2019, 7:21:08 PM3/29/19
to aio-libs
частично разобрался. проблемы была в том что пути стояли после корневого и не срабатывали.
но было бы не плохо сделать универсальный вариант, которому не надо прописывать все варианты клиентских роутов

среда, 27 марта 2019 г., 22:46:21 UTC+3 пользователь Михаил Разговоров написал:

Михаил Разговоров

unread,
Apr 21, 2020, 12:31:49 PM4/21/20
to aio-libs
может быть есть какой то вариант не заниматься описанием статичных роутов а по маске завернуть все?
app.router.add_static('/drivers/', static_path)
app.router.add_static('/devices/', static_path)
app.router.add_static('/resource/', static_path)
app.router.add_static('/', static_path)

суббота, 30 марта 2019 г., 2:21:08 UTC+3 пользователь Михаил Разговоров написал:
Reply all
Reply to author
Forward
0 new messages