如何创建重写规则以将 POST 请求从两个地址重定向到 Microsoft IIS 10 中的 "http://localhost/anpr/"?
How to create Rewrite rule to redirect POST request from two addresses to "http://localhost/anpr/" in Microsoft IIS 10?
我想将来自 Dahua ANPR 摄像头的两个 POST 请求重定向到 Microsoft IIS 中的一个脚本。我想将来自“http://localhost/NotificationInfo/KeepAlive”和“http://localhost/NotificationInfo/TollgateInfo”的 POST 请求重定向到“http://localhost/anpr/”。我在主配置文件中创建了规则 "C:\inetpub\wwwroot\web.config":
<rules>
<rule name="NotificationInfo/TollgateInfo" patternSyntax="ECMAScript">
<match url="(.*)/NotificationInfo/TollgateInfo" ignoreCase="false" />
<action type="Rewrite" url="{R:1}/anpr/" appendQueryString="false" logRewrittenUrl="true" />
</rule>
<rule name="NotificationInfo/KeepAlive">
<match url="(.*)/NotificationInfo/KeepAlive$" />
<action type="Rewrite" url="{R:1}/anpr/" logRewrittenUrl="true" />
</rule>
<rule name="NotificationInfo/TollgateInfo/" patternSyntax="ECMAScript">
<match url="(.*)/NotificationInfo/TollgateInfo/" ignoreCase="false" />
<action type="Rewrite" url="{R:1}/anpr/" appendQueryString="false" logRewrittenUrl="true" />
</rule>
<rule name="NotificationInfo/KeepAlive/">
<match url="(.*)/NotificationInfo/KeepAlive/$" />
<action type="Rewrite" url="{R:1}/anpr/" logRewrittenUrl="true" />
</rule>
</rules>
IIS 10 returns 错误“HTTP://localhost/NotificationInfo/KeepAlive”和“http://localhost/NotificationInfo/TollgateInfo”的“HTTP 404.0 — 未找到”。地址“http://localhost/anpr/”有效。 “anpr”是一个带有脚本“index.php”的文件夹。我做错了什么?如何做这样的重定向?如何重写规则以从“http://localhost/NotificationInfo/KeepAlive”和“http://localhost/NotificationInfo/TollgateInfo”重定向到“http://localhost/anpr/”?你能帮帮我吗?
你的url有一些问题,你可以试试下面的规则:
<rule name="test" stopProcessing="true">
<match url="^NotificationInfo/(.*)$" />
<action type="Redirect" url="http://localhost/anpr" />
</rule>
我想将来自 Dahua ANPR 摄像头的两个 POST 请求重定向到 Microsoft IIS 中的一个脚本。我想将来自“http://localhost/NotificationInfo/KeepAlive”和“http://localhost/NotificationInfo/TollgateInfo”的 POST 请求重定向到“http://localhost/anpr/”。我在主配置文件中创建了规则 "C:\inetpub\wwwroot\web.config":
<rules>
<rule name="NotificationInfo/TollgateInfo" patternSyntax="ECMAScript">
<match url="(.*)/NotificationInfo/TollgateInfo" ignoreCase="false" />
<action type="Rewrite" url="{R:1}/anpr/" appendQueryString="false" logRewrittenUrl="true" />
</rule>
<rule name="NotificationInfo/KeepAlive">
<match url="(.*)/NotificationInfo/KeepAlive$" />
<action type="Rewrite" url="{R:1}/anpr/" logRewrittenUrl="true" />
</rule>
<rule name="NotificationInfo/TollgateInfo/" patternSyntax="ECMAScript">
<match url="(.*)/NotificationInfo/TollgateInfo/" ignoreCase="false" />
<action type="Rewrite" url="{R:1}/anpr/" appendQueryString="false" logRewrittenUrl="true" />
</rule>
<rule name="NotificationInfo/KeepAlive/">
<match url="(.*)/NotificationInfo/KeepAlive/$" />
<action type="Rewrite" url="{R:1}/anpr/" logRewrittenUrl="true" />
</rule>
</rules>
IIS 10 returns 错误“HTTP://localhost/NotificationInfo/KeepAlive”和“http://localhost/NotificationInfo/TollgateInfo”的“HTTP 404.0 — 未找到”。地址“http://localhost/anpr/”有效。 “anpr”是一个带有脚本“index.php”的文件夹。我做错了什么?如何做这样的重定向?如何重写规则以从“http://localhost/NotificationInfo/KeepAlive”和“http://localhost/NotificationInfo/TollgateInfo”重定向到“http://localhost/anpr/”?你能帮帮我吗?
你的url有一些问题,你可以试试下面的规则:
<rule name="test" stopProcessing="true">
<match url="^NotificationInfo/(.*)$" />
<action type="Redirect" url="http://localhost/anpr" />
</rule>