Назад к вопросам
Pyrus
Middle
4
Как реализовать перенаправление пользователей с мобильных устройств на мобильный поддомен (как у ВКонтакте)?
Компании, где спрашивали
Ответ от нейросети
sobes.tech AI
Для перенаправления пользователей с мобильных устройств на мобильный поддомен в C# можно использовать проверку User-Agent в HTTP-запросе и делать редирект на нужный поддомен. Обычно это реализуется в middleware или в обработчике запроса.
Пример на ASP.NET Core:
public class MobileRedirectMiddleware
{
private readonly RequestDelegate _next;
public MobileRedirectMiddleware(RequestDelegate next)
{
_next = next;
}
public async Task Invoke(HttpContext context)
{
var userAgent = context.Request.Headers["User-Agent"].ToString().ToLower();
var host = context.Request.Host.Host;
bool isMobile = userAgent.Contains("iphone") || userAgent.Contains("android") || userAgent.Contains("mobile");
if (isMobile && !host.StartsWith("m."))
{
var newHost = "m." + host;
var newUrl = $"{context.Request.Scheme}://{newHost}{context.Request.Path}{context.Request.QueryString}";
context.Response.Redirect(newUrl, permanent: false);
return;
}
await _next(context);
}
}
// В Startup.cs в методе Configure:
// app.UseMiddleware<MobileRedirectMiddleware>();
Такой подход позволяет автоматически перенаправлять мобильных пользователей на поддомен m.example.com, как это сделано у ВКонтакте. Важно учитывать, что User-Agent может быть не всегда надежным, поэтому можно использовать специализированные библиотеки для определения устройств.