У меня есть приложение .Net Core 3.1, которое я использую в качестве API, но оно также обслуживает мой SPA (угловой). С недавнего времени у меня возникли некоторые проблемы с SEO, поэтому я хотел бы обслуживать статическую версию моего углового приложения, когда появится Googlebot.
Есть ли здесь какой-либо способ динамически задать путь к источнику SPA?
app.UseStaticFiles();
app.UseSpaStaticFiles();
app.UseSpa(spa =>
{
spa.Options.SourcePath = "ClientApp";
});
В настоящее время у меня есть небольшой файл промежуточного программного обеспечения, в котором я обнаруживаю Googlebot на основе строки агента пользователя. Затем я передаю это через запрос.
public async Task InvokeAsync(HttpContext context)
{
var userAgent = context.Request.Headers["User-Agent"];
context.Items["isCrawler"] = userAgent.Contains("Googlebot");
await _next(context);
}
Но я не могу получить доступ к запросу в методе Configure() в файле Startup.cs. В любом случае, есть ли способ, как я могу заставить это работать? Я действительно хочу иметь возможность динамически задавать путь к источнику.
Большое спасибо!
С уважением