UrlRewrite 实现 二级域名 重写(完整解决方案)ASP.NET

          微软的URLRewrite能够对URL进行重写,但是也只能对域名之后的部分进行重写,而不能对域名进行重写,如:可将 http://www.sunyet.com/showuser.aspx?us=bbs  重写为 http://www.worldbao.com/suyiming.aspx  但不能将 http://www.worldbao.com/show.aspx?us=bbs 重写为  http://bbs.worldbao.com/

      要实现这个功能,首先要做域名泛解析,去域名管理里面的域名解析中添加一个:*.worldbao.com 指向服务器ip。

第二,重写URLRewrite里面的两个方法。

1.BaseModuleRewriter.cs  里面的BaseModuleRewriter_AuthorizeRequest方法

 

改为

 

2, ModuleRewriter.cs  里面的 Rewrite 方法

 

改为

就是将

string lookFor = "^" + RewriterUtils.ResolveUrl(app.Context.Request.ApplicationPath, rules[i].LookFor) + "$";

改成了

string lookFor = "^" + rules[i].LookFor + "$";

 

完成这过程之后将整个项目重新编译一下。

这些都做完之后,

在webconfig配置里面的
 <configSections>里面 添加:

在</configSections>下面添加

 在httpModules里面添加

 

最后一步

IIS里面添加  ASPNET_ISAPI的通配符应用程序映射

操作方法:IIS站点属性 ->主目录 ->  配置

点击插入按键

 

选择或输入C:/WINDOWS/Microsoft.NET/Framework/v1.1.4322/aspnet_isapi.dll
取消"确认文件是否存在"前的钩. 确定

 

ok,现在输入http://suyiming.worldbao.com/就可以看到效果了

 

 

 

 

例子稍后放到csdn下载服务器,请大家关注我的博客。

  • 0
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 10
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值