You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter Web部署OVH服务器:PathUrlStrategy致404问题求助

解决Flutter Web PathUrlStrategy在OVH Apache服务器的404问题

1. 替换正确的.htaccess配置

之前的重写规则可能没处理好查询参数或静态资源,直接用下面的代码覆盖你的.htaccess文件:

<IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteBase /
  # 跳过实际存在的文件和目录,比如js、css、图片等静态资源
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  # 把所有请求转到index.html,同时保留URL里的查询参数
  RewriteRule ^(.*)$ index.html?/$1 [L,QSA]
</IfModule>

这里的QSA标记是关键,它能让外部服务商跳转带来的参数完整传递到Flutter中,你用Uri.base.queryParameters就能正常获取这些参数。

2. 确认OVH开启mod_rewrite模块

OVH的Apache默认可能没启用这个模块,需要手动开启:

  • 登录OVH控制面板,找到你的网站配置入口,在Apache模块选项里勾选mod_rewrite
  • 如果能通过SSH访问服务器,直接执行a2enmod rewrite,然后重启Apache服务:service apache2 restart

3. 匹配网站部署目录

如果你的Flutter网站部署在子目录(比如yourdomain.com/flutter-app/),要把.htaccess里的RewriteBase /改成RewriteBase /flutter-app/,否则静态资源和路由都会出现访问错误。

4. 测试验证

配置完成后,手动输入路由URL(比如yourdomain.com/your-target-page)测试,应该不会再返回404。再测试外部服务商的跳转链接,检查Uri.base.queryParameters是否能正确获取到参数。

内容的提问来源于stack exchange,提问作者Bernard

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 23:52:06