Я работаю на веб-сайте MVC, где я должен перенаправить все URL-адреса в определенный формат по причинам SEO и аналитики.У меня есть несколько URL-адресов, связанных с другими процессами, запущенными на сервере (я не уверен на 100%, как они настроены, поскольку я не работал с ними), но они должны быть частично прописными, например, www.mysite.com/WebPage в противном случаеони не работают и вынуждены перенаправлять на верхний регистр.Это тогда вызывает цикл перенаправления, где код, реализованный в Global.asax, перенаправляет в нижний регистр, который затем перенаправляется в верхний регистр, и обратно в нижний регистр и так далее.Я использую .net 4, а не 4.5, поэтому, к сожалению, я не могу использовать System.Web.Routing, чтобы попытаться решить эту проблему.
В настоящее время я внедрил некоторые фильтры, которые позволяют игнорировать эти URL, но янужно вручную определить URL, и я знаю, что я не знаю всех из них.
Код, который у меня есть в моем Global.asax, выглядит следующим образом:
protected void Application_BeginRequest(object sender, EventArgs e)
{
var path = requested.URL.AbsolutePath.ToLower();
if (path.Contains(//Filtered URLs)
return;
var url = Request.Url.ToString();
Response.Clear();
Response.Status = "301 Moved Permanently";
Response.StatusCode = (int)HttpStatusCode.MovedPermanently;
Response.AddHeader("Location", url.ToLower());
Response.End();
}
Я надеюсь установить ограничение на количество перенаправлений до 5 или около того, так чтозапрошенный URL больше не отправляется в нижнем регистре, когда он должен быть в верхнем регистре.