【问题标题】:IIS rewritten rule to redirect a urlIIS 重写规则以重定向 url
【发布时间】:2020-05-04 13:46:17
【问题描述】:

我有一个 SSL 网站,我想将所有调用重定向到不同的 SSL 网站,包括 POST 数据。 经过几次尝试,都没有成功。有什么建议么 这是我目前所拥有的。

<rule name="Redirect url" enabled="true" stopProcessing="true">
    <match url="(.*)" ignoreCase="true" />
    <action type="Redirect" url="https://localhost"   appendQueryString="false" redirectType="Permanent" />
</rule>

【问题讨论】:

  • 阅读 FRT 以了解可能出现的问题,docs.microsoft.com/en-us/iis/extensions/url-rewrite-module/…
  • 这条规则对我来说非常有效。请确保原始网站和目标网站在绑定主机标头中使用不同的主机名。此外,请检查您的重写规则顺序列表,以确保该规则不会被其他规则绕过。第三,请尝试清理浏览器缓存。
  • 感谢您确认规则有效。 localhost 的网站是一个 MVC ASP.NET 应用程序。它有一个控制器和动作。即 /Application/Action 我认为问题出在 MVC 路由上。使用 Fiddler,我看到了预期 URL (/Application/Action) 的传入 POST,并以 301 结果发布了数据。然后我看到的下一个 URL 是 / 而不是预期的 URL (/Application/Action),结果为 200。我不知道为什么 URL 是 / 而不是 /Application/Action。

标签: redirect iis


【解决方案1】:

如果您还需要在目标 URL 的末尾附加请求 URI,请像这样修改规则。

<rule name="Redirect url" enabled="true" stopProcessing="true">
    <match url="(.*)" ignoreCase="true" />
    <action type="Redirect" url="https://localhost/{R:1}" appendQueryString="false" redirectType="Permanent" />
</rule>

【讨论】:

    猜你喜欢
    • 2019-03-05
    • 2012-05-27
    • 2014-10-27
    • 2011-08-07
    • 2015-11-18
    • 2014-05-01
    • 1970-01-01
    相关资源
    最近更新 更多