SSR仅渲染首页问题求助:刷新任意页面均返回首页
SSR刷新路由始终返回首页的排查建议
检查前端路由配置
- 确认前端路由(如Vue Router/React Router)启用了兼容SSR的模式,比如Vue的history模式需要服务端配合fallback,React要确保服务端用
StaticRouter时正确传入请求URL。 - 核对路由表,确保PDP等目标路由已正确定义,且通配符路由(
*)没有放在路由表最前面(否则会优先匹配首页)。
- 确认前端路由(如Vue Router/React Router)启用了兼容SSR的模式,比如Vue的history模式需要服务端配合fallback,React要确保服务端用
验证server.ts的请求处理逻辑
- 即使没修改默认server.ts,也要确认代码里是否正确捕获了所有路径的请求:比如是否将
req.url传递给SSR渲染上下文,而不是固定返回首页模板。 - 检查服务端框架(Express/Koa)的路由规则,比如Express是否用了
app.get('*', ...)来处理所有非静态资源请求,而非仅监听/路径。
- 即使没修改默认server.ts,也要确认代码里是否正确捕获了所有路径的请求:比如是否将
排查静态资源与路由的冲突
- 确认PDP等路由路径没有和静态资源(js/css/img)路径重名,避免服务端误判请求类型。
- 检查静态资源中间件的位置,确保它在SSR路由处理逻辑之前,这样静态资源请求被优先处理,其他请求能正常进入SSR渲染流程。
测试路由匹配与渲染逻辑
- 在server.ts中添加日志打印
req.url,确认刷新PDP页面时服务端接收到的URL是预期值(如/pdp/123),排除前端URL异常问题。 - 手动在服务端调用SSR渲染函数,传入目标路由URL,验证是否能生成正确的PDP页面内容,排查渲染函数本身的问题。
- 在server.ts中添加日志打印
检查缓存/CDN配置
- 如果部署了CDN或开启服务端缓存,确认缓存规则没有将所有路径统一缓存为首页。临时关闭缓存测试,看是否能返回正确页面。
内容的提问来源于stack exchange,提问作者Akk3d1s
相关产品推荐
相关产品推荐

