Я реализовал следующий код в файле Global.asax моего веб-приложения.
void Application_BeginRequest()
{
string rule = ConfigurationManager.AppSettings.Get("WwwRule");
HttpContext context = HttpContext.Current;
if (context.Request.HttpMethod != "GET" || context.Request.IsLocal)
{
return;
}
if (context.Request.PhysicalPath.EndsWith(".aspx", StringComparison.OrdinalIgnoreCase))
{
string url = context.Request.Url.ToString();
if (!url.Contains("://www.") && rule == "add")
{
string url = context.Request.Url.ToString().Replace("://", "://www.");
context.Response.Redirect(url);
}
}
}
Когда я работаю над кодом, он работает следующим образом
example.com перенаправляет на www.example.com / default.aspx
www.example.com перенаправляет на www.example.com
http://www.example.com/ перенаправляет на http://www.example.com/
последние два условия работают очень хорошо. Но первое условие не работает должным образом, потому что он добавляет «default.aspx» в URL, который меня не интересует.
Может кто-нибудь подскажите, пожалуйста, как это сделать, как показано ниже
example.com должен перенаправить на http://www.example.com
Спасибо