gpt4 book ai didi

routes - 为什么 Blazor WASM 路由部署在服务器上后不使用正确的基本 URI? (NavigationManager.NavigateTo() 方法)

转载 作者:行者123 更新时间:2023-12-05 03:40:02 24 4
gpt4 key购买 nike

一个 Blazor WASM 项目 我在本地主机上调试时按预期开发路由。例如,登录后,如果成功,将调用NavigateTo("/mypage")。这在本地按预期工作,并将我带到 "localhost:44303/mypage"

然而,一旦部署到我的测试服务器,它就不会了。该项目部署到 wwwroot 中的一个文件夹,因此部署后站点的 URL 格式/位置为 “test.com/MyApp/”(登录页面)。当它像登录后一样路由到另一个页面时,它应该看起来像“test.com/MyApp/mypage”。但相反,它路由到 “test.com/mypage”,完全删除 “MyApp/”,这当然会到处返回 404。

我认为这是调整 index.html 文件的 <base href=""> 的简单修复。值,但这并没有改变路由的任何内容。在本地调试时,我把它放在 <base href="/" />。 (有效)。部署时,它是 <base href="/MyApp/" /> (这是行不通的)。我已经对此进行了研究,但似乎没有太多人遇到过这个特定问题,或者推荐的修复方法是我已经尝试过的基本 href。

如果我将项目代码中的 NavigateTo() 方法更改为看起来像 NavigateTo("MyApp/mypage"),它就可以在服务器上运行,但是似乎不对/没有必要。我不应该根据我是否正在调试将它们设置为条件,对吧?

我的应用程序似乎在路由期间将基本 URI 丢弃在某处,我无法弄清楚在哪里/为什么。任何人都可以阐明这一点吗?

最佳答案

去掉前面的斜线“/”,直接使用。

NavigateTo("mypage")

关于routes - 为什么 Blazor WASM 路由部署在服务器上后不使用正确的基本 URI? (NavigationManager.NavigateTo() 方法),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68318735/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com