首页 > Windows开发 > 详细

在IIS托管服务中设置Rewrite重定向到webapi接口

时间:2019-03-07 16:26:57      阅读:233      评论:0      收藏:0      [点我收藏+]

最近公司遇到这样一个问题。公司以前使用一个SiteServer CMS开源框架来搭建网站,是以asp.net开发的,并且托管在IIS中。其中出现了一个问题,就是用ajax访问不了这个框架后台的webapi接口,报404错误。当时还以为是模块处理程序的问题,测试了多遍,还是找不出原因。况且公司运营这个网站有个好几年了,里面的文件众多,光容量就有几十个G,不可能说重构就重构吧?自己又有众多业务在身,没有那么多时间。好吧,我把这个框架的bin目录里面重要的dll文件拷贝过来,新建一个工程项目,然后发布到服务器上,专门用作webapi站点,接下来就在以前那个站点下用Rewrite重定向模块来把前端需要访问的webapi接口重定向到这个新建的webapi站点,这样可以暂时解决这个问题。

Url Rewrite Module安装程序可以去这个地址下载:https://www.iis.net/downloads/microsoft/url-rewrite

Url Rewrite Module的使用可以参考这篇文章:https://docs.microsoft.com/en-us/iis/extensions/url-rewrite-module/using-url-rewrite-module-20

rewrite重写模块需要包含在system.webServer节点中,其配置如下图所示:

技术分享图片

关键名词释义:

PATH_INFO:表示一个url地址的path部分;

{R:1}:这个和正则表达式的捕获一样,1代表那个被捕获的括号里面的字符串的索引;

这个配置中最关键的要属action节点的redirectType属性,如果是其他属性值,则不能重定向post方法的接口,只会重定向get方法,如果定义为Temporary值,则可以重定向post方法的接口

 

在IIS托管服务中设置Rewrite重定向到webapi接口

原文:https://www.cnblogs.com/williamwsj/p/10490116.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!