Flutter网站部署到自有服务器时build文件夹无法提交及Apache适配问题
Flutter Web自有服务器部署相关问题解答
build文件夹无法提交到代码仓库的原因
- Flutter项目初始化时会自动生成
.gitignore规则,默认将build/目录加入忽略列表,所有构建生成的产物都会被Git排除追踪,因此提交代码时不会显示该文件夹。 - 常规开发流程中不建议将build目录提交到代码仓库,该目录属于动态生成的临时产物,每次构建都会更新,提交到仓库会大幅增加仓库体积、产生无效提交记录。如果确实有提交需求,只需删除项目根目录
.gitignore文件中包含build/的对应规则即可。
Apache Web Server适配性说明
经实际测试,Apache Web Server可正常支持Flutter Web站点运行。
需要注意Flutter Web属于单页应用,若使用路径路由模式(PathUrlStrategy),直接刷新非根路径页面会出现404错误,需额外配置重写规则:
- 开启Apache的
mod_rewrite模块,重启Apache服务生效 - 在站点根目录创建
.htaccess文件,写入以下规则:
<IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.html$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.html [L] </IfModule>
内容的提问来源于stack exchange,提问作者iosdev1111
相关产品推荐
相关产品推荐

