[英]Creating a IIS Url Rewrite/Redirect
我正在努力让 url 重写/重定向在 IIS 中工作。 我已经安装了 url 重写模块,但所有规则都无法执行任何操作。 这是一个场景,我们希望所有生成报告的 Web 请求都被推送到辅助服务器,这样它就不会损害主框。 生成报告的 Web 请求如下所示:
http://mywebaddress/api/Actionname=GenerateReport¶m=123
因此,我想做某种类型的正则表达式检查,以查找其中包含“GenerateReport”的任何 Web 请求并将其重定向到以下内容:
http://mywebaddressofsecondserver/api/Actionname=GenerateReport¶m=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.