第三方供应商通过错误的取消订阅链接向我们的客户发送电子邮件。在他们可以更新此URL之前,我希望通过web.config更正任何请求。
正确的工作环节应该是:
https://www.example.com/my-account/alertunsubscribe?email=[email]&searchname=[searchname]
电子邮件中的链接断开:
http://www.example.com/property/myaccount/alertunsubscribe?email=[email]&searchname=[searchname]
我一直试图使用以下内容:
<rule name="AlertUnsub" stopProcessing="true">
<match url=".*" ignoreCase="true" />
<conditions>
<add input="{HTTP_HOST}" pattern="^property/myaccount/alertsubscribe" />
</conditions>
<action type="Redirect" url="https://www.example.com/my-account/alertsubscribe" appendQueryString="true" />
</rule>
任何想法我做错了什么?我已经有另一个规则将非http流量重定向到https,这很好,所以我不认为我必须在这里处理。非www到www。
也是如此任何帮助将不胜感激。
由于
答案 0 :(得分:1)
您应该查找与网址不匹配{HTTP_HOST}
变量的匹配项,因此不需要条件。
请改为尝试:
<rule name="AlertUnsub" stopProcessing="true">
<match url="^property/myaccount/alertunsubscribe" />
<action type="Redirect" url="my-account/alertunsubscribe" appendQueryString="true" redirectType="Found" />
</rule>
BTW在问题中对alertsubscribe
和alertunsubscribe
存在疑惑。我认为它是alertunsubscribe
。