Столкнулся со странной ситуацией, попросили развернуть старый проект.
Как оказалось, конфига в репозитории нет, собирал свой и вот к чему пришел.
Сам сайт сделан на CMS, но у него есть "подпроект" на vue, вернее два, отдельно мобильная и десктопная версия "подпроекта".
Подпроект доступен по
/constructor,
в nginx добавил location, который в зависимости от агента устанавливает тот или иной алиас и вроде все работало, пока клиент не обратил внимание, что на мобильном, находясь не в корне подпроекта
/constructor
, а дальше, например в
/constructor/auth
- если обновить страницу - то nginx выдает 404 ошибку. При этом на десктопе все работает.
Подскажите как пофиксить, может кто сталкивался.
Конфиг:
set $platform desktop;
if ($http_user_agent ~* "(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle$
set $platform mobile;
}
if ($http_user_agent ~* "^(1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|g$
set $platform mobile;
}
location ^~ /constructor {
set $front_path /home/www/redesigned_spa_desktop/dist;
if ($platform = mobile) {
set $front_path /home/www/redesigned_spa/dist;
}
alias $front_path;
index index.html;
try_files $uri /constructor/index.html;
}
location / {
root /home/www;
if (!-e $request_filename) {
rewrite ^/(.*)$ /index.php?q=$1 last;
}
}