Asp.net core 二级域名的设置

本文介绍了在ASP.NET Core中如何通过自定义中间件PathRewritingMiddleware实现二级域名的设置,以便于管理和区分PC、WAP和API等不同应用。通过中间件捕获请求并判断域名,如访问m.abc.com时,默认返回wap页面,而无需实际跳转,从而提供更友好的访问体验。
摘要由CSDN通过智能技术生成

对于单个web引用来说,一个应用则含有admin管理,pc客户端,mobile移动端和api等。因此在开发商引入的Areas来进行不区分。

在域名设置的时候就存在这样一个问题:

  1. PC页面绑定了 www.abc.com的域名
  2. Wap 页面在项目中通过 Areas建立Wap域来区分。
  3. Api 建立 Areas Api来区分

    那么通过域名+路由的方式即可访问 wap页面和api页面。但如此并不友好,如何通过一个m.abc.com域名来访问 wap页面呢。

    众说周知,Asp.net core 的设计是基于管道,框架为我们提供了“中间件(Middleware)”,因此我们是否有可以通过建立一个中间来捕捉请求,对域名进行判断,当访问到m.abc.com域名的时候 就默认的返回wap的页面。

    解决方案如下:

    建立一个中间件 PathRewritingMiddleware 当检测到请求的地址没有任何连接参数(纯域名访问)时,区分返回不同的页面。

    
    public class PathRewritingMiddleware
    {
        private readonly RequestDelegate _next;
        private readonly string _domain;
        private readonly string _path;
    
        public PathRewritingMiddleware(RequestDelegate next,string domain,string path)
        {
            _next = next;
            _domain = domain;
            _path &#
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值