【发布时间】:2022-01-02 07:14:39
【问题描述】:
我有一个 .Net Core 3.1 应用程序,用作 API,但它也为我的 SPA (Angular) 服务。最近我在 SEO 方面遇到了一些问题,所以我想在 Googlebot 出现时提供我的 Angular 应用程序的静态版本。
这里有没有办法动态设置SPA源路径?
app.UseStaticFiles();
app.UseSpaStaticFiles();
app.UseSpa(spa =>
{
spa.Options.SourcePath = "ClientApp";
});
目前我有一个小的中间件文件,我根据 UserAgent 字符串检测 Googlebot。然后我通过请求传递它。
public async Task InvokeAsync(HttpContext context)
{
var userAgent = context.Request.Headers["User-Agent"];
context.Items["isCrawler"] = userAgent.Contains("Googlebot");
await _next(context);
}
但我无法访问 Startup.cs 文件中 Configure() 方法中的请求。无论如何我怎么能做到这一点?我真的希望能够动态设置 SourcePath。
非常感谢!
问候
【问题讨论】:
标签: c# asp.net-core single-page-application .net-core-3.1