【发布时间】:2010-12-04 21:37:00
【问题描述】:
我正在尝试从表单中重写 url:
https://example.com/about
表格
http://example.com/about
<!-- http:// to https:// rule -->
<rule name="ForceHttpsBilling" stopProcessing="true">
<match url="(.*)billing/(.*)" ignoreCase="true" />
<conditions>
<add input="{HTTPS}" pattern="off" ignoreCase="false" />
</conditions>
<action type="Redirect" redirectType="Found" url="https://{HTTP_HOST}{REQUEST_URI}" />
</rule>
<!-- https:// to http:// rule -->
<rule name="ForceNonHttps" stopProcessing="true">
<match url="(.*)billing/(.*)" ignoreCase="true" negate="true" />
<conditions>
<add input="{SERVER_PORT}" pattern="^443$" />
</conditions>
<action type="Redirect" redirectType="Found" url="http://{HTTP_HOST}{REQUEST_URI}" />
</rule>
我很茫然;我一直在网上浏览示例并尝试我能想到的每一种语法。对于任何 https 请求,我指定的重写规则似乎根本 不起作用,就好像所有 https:// 请求对重写引擎完全不可见。
规则工作正常;请参阅下面的答案。
【问题讨论】:
-
对我来说闻起来像一个基本的安全“功能”
-
这对我来说就像一个服务器故障问题......
-
@Charlie,没有。这是编码和管理的问题之一,所以把它留在它开始的网站上(就像很多脚本问题一样)
-
这确实是一个很好的配置 http 到 https 的示例,反之亦然。我只是在寻找这样的东西。尝试了其他几个,但他们遇到了一个或其他问题。
-
解决这个问题 - 没有有效的证书就无法完成,对吗?即,由于我没有安装证书,我无法强制 https 请求转到 http...
标签: iis-7 https url-rewriting url-rewrite-module