Я не уверен, поможет ли это, но я решил сделать это на уровне приложения. Вот фильтр быстрого действия, который я написал, чтобы сделать это .. Просто добавьте класс где-нибудь в своем проекте, и затем вы можете добавить [RequWWwww] к одному действию или ко всему контроллеру.
public class RequiresWww : ActionFilterAttribute
{
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
HttpRequestBase req = filterContext.HttpContext.Request;
HttpResponseBase res = filterContext.HttpContext.Response;
//IsLocal and IsLoopback i'm not too sure on the differences here, but I have both to eliminate local dev conditions.
if (!req.IsLocal && !req.Url.Host.StartsWith("www") && !req.Url.IsLoopback)
{
var builder = new UriBuilder(req.Url)
{
Host = "www." + req.Url.Host
};
res.Redirect(builder.Uri.ToString());
}
base.OnActionExecuting(filterContext);
}
}
Тогда
[RequiresWwww]
public ActionResult AGreatAction()
{
...
}
или
[RequiresWwww]
public class HomeController : BaseAppController
{
..
..
}
Надеюсь, это кому-нибудь поможет. Ура!