# 2026-06-02 SPA 路径重定向（/app/login → /app/#/login）

## 摘要

Vuetify 前端使用 `createWebHashHistory`，访问 `/app/login` 会得到 404 或空白页。新增中间件将 `/app/<route>` 302 到 `/app/#/<route>`。

## 动机

用户访问 `https://api.synaglobal.vip/app/login` 报错（Chrome -101 或 404）。服务器日志显示 `GET /app/login` 返回 404；正确入口为 `/app/` 或 `/app/#/login`。

## 涉及文件

- `server/main.py` — `SpaHashRedirectMiddleware`

## 迁移 / 重启

- 需 `supervisorctl restart nexus`

## 验证

```bash
curl -sI http://127.0.0.1:8600/app/login | head -3
# 预期: HTTP/1.1 302, Location: /app/#/login
```
