是否有一种简单的方法可以使用 RedirectToAction 方法将 www 前缀添加到单个操作(或控制器)中?
我尝试使用 Redirect() 但给我一些其他问题。我认为它重新启动了会话。
更新:
我添加了一个实现这样的属性的类:
public class ExtendAttributes
{
public class AddwwwPrefix : FilterAttribute, IAuthorizationFilter
{
public void OnAuthorization(AuthorizationContext filterContext)
{
string host = filterContext.HttpContext.Request.Url.Host;
if (host.Contains("www."))
{
return; //It already contains www. so don't change it
}
else
{
host = "www." + filterContext.HttpContext.Request.Url.Host;
}
// redirect to HTTP
string url = "http://" + host + filterContext.HttpContext.Request.RawUrl;
filterContext.Result = new RedirectResult(url);
}
}
}
所以我可以这样使用它:
[ExtendAttributes.AddwwwPrefix]
public ActionResult MyAction()
{
...