gpt4 book ai didi

angular - 在 IIS 上设置 Angular 深度链接

转载 作者:行者123 更新时间:2023-12-04 01:59:31 25 4
gpt4 key购买 nike

我正在尝试在 IIS 上配置 Angular/ASP.NET 5 应用程序以支持深度链接,以便 domain.com/article/title-slug 等 URL 可以工作

我已使用 IIS 重写模块将以下代码添加到我的 web.config 中:

<rewrite>
<rules>
<rule name="redirect all" stopProcessing="true">
<match url="^(.*)$" ignoreCase="false" />
<conditions logicalGrouping="MatchAll">
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" pattern="" ignoreCase="false" />
</conditions>
<action type="Rewrite" url="wwwroot/index.html" appendQueryString="true" />
</rule>
</rules>
</rewrite>

我的问题是我的网站不再加载,我有一个空白屏幕,网络选项卡中没有任何内容,也没有源。

我的 inetpub\site\文件夹是 dotnet 核心发布文件夹的根目录,我在 inetput\site\wwwroot 中有 Angular 构建 Assets

我的基本 href 是 = "/",没有重写代码一切正常。

最后,我尝试将我的重写 URL 更改为

<action type="Rewrite" url="/index.html" appendQueryString="true" />

但随后我开始收到错误:

inline.f137c7f1f4e2a52a2fb9.bundle.js:1 Uncaught SyntaxError: Unexpected token <
polyfills.25e42e2a7a0746e9ff75.bundle.js:1 Uncaught SyntaxError: Unexpected token <
main.0d9f8e7be2ccd1472551.bundle.js:1 Uncaught SyntaxError: Unexpected token <

最佳答案

我最终通过取消 URL 重写模块并在代码中处理来解决这个问题:

        app.Run(async (context) =>
{
context.Response.ContentType = "text/html";
await context.Response.SendFileAsync(Path.Combine(env.WebRootPath, "index.html"));
});

关于angular - 在 IIS 上设置 Angular 深度链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48332488/

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