gpt4 book ai didi

asp.net-mvc - 在 ASP.NET MVC 1.0 中删除 'WWW'

转载 作者:行者123 更新时间:2023-12-02 06:11:25 26 4
gpt4 key购买 nike

我试图强制域名不使用“www”。如果尝试,我想重定向用户。我很少看到 MVC 解决方案。有没有办法利用 MVC 中内置的路由,或者最好的解决方案是什么。

谢谢

最佳答案

作为 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 应用到您的 Controller ,或者您的 Controller 基类(如果有的话)。

有关操作过滤器的介绍,请参阅 Understanding Action Filters在 MSDN 上。

[RemoveWwwFilterAttribute]
public class MyBaseController : Controller

关于asp.net-mvc - 在 ASP.NET MVC 1.0 中删除 'WWW',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2256353/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com