Flutter Web在Azure Static Web Apps用PathUrlStrategy遇404问题
解决Flutter Web部署Azure Static Web Apps后PathUrlStrategy的404问题
Azure Static Web Apps不支持.htaccess配置,需要用它专属的staticwebapp.config.json文件来实现路由重写,替代你找到的.htaccess规则,具体操作如下:
- 在Flutter Web项目的根目录(和
pubspec.yaml同级)创建一个名为staticwebapp.config.json的文件 - 将以下配置内容复制到文件中:
{ "routes": [ { "route": "/*", "serve": "/index.html", "statusCode": 200 } ], "navigationFallback": { "rewrite": "/index.html", "exclude": ["/static/css/*", "/static/js/*", "/static/media/*"] } }
- 重新部署你的Azure Static Web Apps项目,确保这个配置文件被包含在部署包内
这个配置的逻辑和你找到的.htaccess完全一致:
- 所有非静态资源的请求都会被转发到
index.html,让Flutter的PathUrlStrategy处理路由 navigationFallback里的exclude字段用来排除静态资源文件(CSS、JS、媒体文件),避免这些文件被错误重定向,保证页面能正常加载静态资源
内容的提问来源于stack exchange,提问作者Paul Charlton
相关产品推荐
相关产品推荐

