单应用程序的 Flutter Web 配置服务器 usePathUrlStrategy();

问题描述 投票:0回答:1

我使用 Flutter Web 创建了一个网站,并将其上传到外部网络主机 (OVH)。该网站的功能之一需要通过其 URL(与外部服务提供商的链接)访问某些页面。

显示我使用的页面 URL

usePathUrlStrategy();

当我使用模拟器(chrome)时,我可以在地址栏中输入 URL,没有任何问题。 但是当我构建应用程序并将构建上传到服务器(OVH)时,问题就开始了。当我尝试通过在地址栏中键入 URL 来手动访问页面时,它返回错误 404 未找到页面。

Flutter 医生说:

PathUrlStrategy 使用 History API,这需要额外的 Web 服务器的配置。

要配置您的 Web 服务器以支持 PathUrlStrategy,请检查您的 Web服务器的文档将请求重写为index.html.Check 您的网络服务器的文档,了解如何配置的详细信息 单页应用程序。

很好,但我做不到。 我尝试使用 .htaccess 文件将每个请求重定向到 index.html 文件(正如我读到的,网络应用程序是单个文件,每个请求都必须重定向到该文件),但失败了。

还需要提及的是,外部服务提供商将返回我的网站的 URL 带有参数,我需要在该页面中使用该 URL(带有 Uri.base.queryParameters

了解 OVH 服务器运行 Apache 可能会有用。

你能帮我吗?

非常感谢!

flutter url redirect server single-page-application
1个回答
0
投票

验证您

/etc/apache2/apache2.conf
是否已将右侧部分的
AllowOverride None
更改为
AllowOverride All
(文件中有4个AllowOverride参数,其中一个用于/var/www/html目录)

在终端

sudo a2enmod rewrite
sudo systemctl restart apache2

上运行

最后,创建/更改您的

.htaccess
文件

© www.soinside.com 2019 - 2024. All rights reserved.