You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

实现ASP.NET MVC/C#网站公IP访问自动重定向至域名

实现ASP.NET MVC输入公网IP自动重定向到域名

下面提供几种可靠的实现方式,按需选择:

方法一:自定义Action过滤器(推荐MVC场景)

创建全局过滤器,对所有请求做校验,当请求来自IP地址时触发重定向:

using System.Net;
using System.Web.Mvc;

public class RedirectFromIpAttribute : ActionFilterAttribute
{
    // 替换成你的目标域名
    private const string TargetDomain = "google.com";

    public override void OnActionExecuting(ActionExecutingContext filterContext)
    {
        var request = filterContext.HttpContext.Request;
        var host = request.Url.Host;

        // 校验当前请求主机是否为IP地址
        if (IPAddress.TryParse(host, out _))
        {
            // 保留原请求协议(HTTP/HTTPS)
            var targetUrl = $"{request.Url.Scheme}://{TargetDomain}{request.Url.PathAndQuery}";
            // 301永久重定向,对SEO更友好;若需临时重定向,将permanent设为false
            filterContext.Result = new RedirectResult(targetUrl, permanent: true);
        }

        base.OnActionExecuting(filterContext);
    }
}

接着在App_Start/FilterConfig.cs中注册这个全局过滤器:

public class FilterConfig
{
    public static void RegisterGlobalFilters(GlobalFilterCollection filters)
    {
        filters.Add(new RedirectFromIpAttribute());
        filters.Add(new HandleErrorAttribute());
    }
}

方法二:全局请求拦截(Global.asax)

如果不想用过滤器,也可以在Global.asax.cs的Application_BeginRequest事件中处理,覆盖所有请求:

using System.Net;
using System.Web;

protected void Application_BeginRequest()
{
    var request = HttpContext.Current.Request;
    var host = request.Url.Host;
    const string TargetDomain = "google.com";

    if (IPAddress.TryParse(host, out _))
    {
        var targetUrl = $"{request.Url.Scheme}://{TargetDomain}{request.Url.PathAndQuery}";
        Response.RedirectPermanent(targetUrl);
    }
}

注意事项

  • 若需临时重定向,可将方法一中的permanent: true改为false,或方法二中的RedirectPermanent替换为Redirect。
  • 务必把TargetDomain替换为你实际的域名,比如yourdomain.com。
  • 若网站有多个合法域名需要排除,可扩展逻辑添加白名单判断。
  • 测试时注意区分本地IP(如127.0.0.1)和公网IP,可根据需求调整校验逻辑。

内容的提问来源于stack exchange,提问作者Cristian Fuentes

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 10:34:58