Реализован как ActionFilter, так как он похож на MVC и более явный.
public class RemoveWwwFilterAttribute : ActionFilterAttribute
{
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
var req = filterContext.HttpContext.Request;
var res = filterContext.HttpContext.Response;
var host = req.Uri.Host.ToLower();
if (host.StartsWith("www.")) {
var builder = new UriBuilder(req.Url) {
Host = host.Substring(4);
};
res.Redirect(builder.Uri.ToString());
}
base.OnActionExecuting(filterContext);
}
}
Примените ActionFilter к своим контроллерам или классу базовых контроллеров, если он у вас есть.
Для ознакомления с фильтрами действий см. Общие сведения о фильтрах действий в MSDN.
[RemoveWwwFilterAttribute]
public class MyBaseController : Controller