近期,因新增图片链接公网访问,新配置了ng,但是访问一直报404
经查发现ng配置中图片等静态文件会去ng根目录下寻找文件,而不是做ng转发,经测试,删除图片链接.jpg后缀,可访问ng,但是不符合实际场景,检查配置文件后发现可能是静态文件匹配规则在前,新增ng规则在后,匹配规则未成功匹配,遂将新增ng规则挪至文件顶部,测试后发现问题依然存在。
经过多次排查与反复尝试,最终问题还是定位在nginx的路由配置上。具体是,出于nginx的路由路径【/test/】在路由匹配成功之后还会继续往下寻找匹配规则 ,最终仍旧会匹配静态文件规则,可在新增规则前加通配符【^~】,可避免此情况。