Rails/Shopify应用访问ID为404的记录误触发404错误如何解决?
问题场景
应用执行show动作时,访问ID为404的记录会错误触发404页面。例如/articles/1、/articles/403、/articles/405都能正常加载对应记录,唯独/articles/404直接显示“404页面未找到”,相关搜索结果大多是常规404问题,找不到针对性解决方案。
问题根因与修复方案
实际问题发生在Shopify应用的路由代理环节:
- 后台路由设计为
https://example.myshopify.com/admin/apps/myapp/:id,用于根据ID调取并展示记录 - 但该路由被错误代理到应用内部的
/:id路径,导致https://example.myshopify.com/admin/apps/myapp/404被解析为访问应用的/404静态路径,直接触发了/public目录下的404.html文件,而非进入show动作查询ID为404的记录。
调整路由代理规则,让带:id参数的请求(包括ID为404的情况)都正确指向show动作处理逻辑后,问题解决。
内容的提问来源于stack exchange,提问作者Corey
相关产品推荐
相关产品推荐

