繁体   English   中英

创建 IIS Url 重写/重定向

[英]Creating a IIS Url Rewrite/Redirect

我正在努力让 url 重写/重定向在 IIS 中工作。 我已经安装了 url 重写模块,但所有规则都无法执行任何操作。 这是一个场景,我们希望所有生成报告的 Web 请求都被推送到辅助服务器,这样它就不会损害主框。 生成报告的 Web 请求如下所示:

http://mywebaddress/api/Actionname=GenerateReport&param=123

因此,我想做某种类型的正则表达式检查,以查找其中包含“GenerateReport”的任何 Web 请求并将其重定向到以下内容:

http://mywebaddressofsecondserver/api/Actionname=GenerateReport&param=123

关于重定向/重写将如何进行的任何想法?

您需要检查REQUEST_URI包含Actionname=GenerateReport
如果是这样,您会将其重定向到其他网络服务器 url 等效项

转换为 IIS 重写规则,它看起来像这样

<rule name="Delegate report generation" stopProcessing="true">
   <match url="^(.*)$" />
   <conditions>
      <add input="{REQUEST_URI}" pattern="Actionname=GenerateReport" />
   </conditions>
   <action type="Redirect" url="http://mywebaddressofsecondserver/{R:1}" />
</rule>

谢谢,贾斯汀·欧曼,

您的回答解决了我获取方法的问题

http://mywebaddress/api/Param/Action1 http://localserverwithport/api/Param/Action1

但是对于下面的 Post 方法,它仍然给出 404 not found

http://mywebaddress/api/Param/PostAction2 http://localserverwithport/api/Param/PostAction2

帖子参数为:{"Param1":"James","Param2":"jani"}

我的实现是

'<system.webServer>
        <rewrite>
            <rules>            
               <rule name="Rewrite Rule1" >
                    <match url="^(.*)" />                    
                    <action type="Redirect" url="http://localserverwithport/{R:1}" />
                </rule>             
            </rules>
        </rewrite>
</system.webServer>'

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM