Можно ли переписать расположение адреса с https на http? Я пытаюсь реализовать это несколькими способами, но всегда открываю страницу с помощью https.
Я пытался добавить эти правила в app.Use
:
app.Use(async (context, next) =>
{
if (context.Request.IsHttps)
{
if (context.Request.Path.Value.Contains("https") && !context.Request.Path.Value.Contains(".salesrater.com"))
{
var path = context.Request.Path.Value.Replace("https", "http");
context.Response.Headers[HeaderNames.Location] = path;
context.Response.Redirect(path);
}
else
{
await next();
}
}
});
Этот случай не работает для меня. Затем я попытался использовать опцию перезаписи:
var options = new RewriteOptions();
options.Add(new ServerRewriteRule(cache, Configuration));
app.UseRewriter(options);
Что реализовано в классе следующим образом:
var request = context.HttpContext.Request;
var path = $"{request.Scheme}://{mapping.Domain}{request.Path.Value.Replace(mapping.Path, string.Empty)}{request.QueryString}";
if (path.Contains("https"))
{
path = path.Replace("https", "http");
}
var response = context.HttpContext.Response;
response.StatusCode = StatusCodes.Status302Found;
response.Headers[HeaderNames.Location] = path;
response.Redirect(path);
context.Result = RuleResult.EndResponse;
Обновление: Я забыл заметить, что у меня есть случаи, когда мне нужно отфильтровать некоторые URL-адреса, которые должны идти по https, а которые не должны