如何 运行 AngularJs ASP.Net 核心上的 html5mode 使用 URL 重写?
How to run AngularJs html5mode on ASP.Net Core using URL Rewrite?
我在 .net 框架上有一个 angularjs 应用程序 运行ning。当我尝试在 .net 核心上 运行 它时,我无法修复刷新页面时出现错误 404
的 html5mode 回退
我已经尝试创建 web.config 用于 url 重写和创建中间件。
<system.webServer>
<rewrite>
<rules>
<rule name="AngularJS Routes" stopProcessing="true">
<match url=".*" />
<conditions logicalGrouping="MatchAll">
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
<add input="{REQUEST_URI}" pattern="^/(api)" negate="true" />
</conditions>
<action type="Rewrite" url="/" />
</rule>
</rules>
</rewrite>
</system.webServer>
我想 运行 angularjs .net 核心上的 html5mode 使用 URL 重写
在您的项目中,创建一个 xml 文件,例如 IISUrlRewrite.xml 并复制粘贴配置
<rewrite>
<rules>
<rule name="AngularJS Routes" stopProcessing="true">
<match url=".*" />
<conditions logicalGrouping="MatchAll">
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
<add input="{REQUEST_URI}" pattern="^/(api)" negate="true" />
</conditions>
<action type="Rewrite" url="/" />
</rule>
</rules>
</rewrite>
然后在您的 Startup.cs Configure()
上读取该文件并将其附加到 RewriteOptions().AddIISUrlRewrite
using (StreamReader iisUrlRewriteReader = File.OpenText("IISUrlRewrite.xml"))
{
var rules = new RewriteOptions();
rules.AddIISUrlRewrite(iisUrlRewriteReader);
app.UseRewriter(rules);
}
app.UseFileServer();
来源参考 here
我在 .net 框架上有一个 angularjs 应用程序 运行ning。当我尝试在 .net 核心上 运行 它时,我无法修复刷新页面时出现错误 404
的 html5mode 回退我已经尝试创建 web.config 用于 url 重写和创建中间件。
<system.webServer>
<rewrite>
<rules>
<rule name="AngularJS Routes" stopProcessing="true">
<match url=".*" />
<conditions logicalGrouping="MatchAll">
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
<add input="{REQUEST_URI}" pattern="^/(api)" negate="true" />
</conditions>
<action type="Rewrite" url="/" />
</rule>
</rules>
</rewrite>
</system.webServer>
我想 运行 angularjs .net 核心上的 html5mode 使用 URL 重写
在您的项目中,创建一个 xml 文件,例如 IISUrlRewrite.xml 并复制粘贴配置
<rewrite>
<rules>
<rule name="AngularJS Routes" stopProcessing="true">
<match url=".*" />
<conditions logicalGrouping="MatchAll">
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
<add input="{REQUEST_URI}" pattern="^/(api)" negate="true" />
</conditions>
<action type="Rewrite" url="/" />
</rule>
</rules>
</rewrite>
然后在您的 Startup.cs Configure()
上读取该文件并将其附加到 RewriteOptions().AddIISUrlRewrite
using (StreamReader iisUrlRewriteReader = File.OpenText("IISUrlRewrite.xml"))
{
var rules = new RewriteOptions();
rules.AddIISUrlRewrite(iisUrlRewriteReader);
app.UseRewriter(rules);
}
app.UseFileServer();
来源参考 here