0

我正在尝试从 WWW -> root 重定向我的网站。

http://www.example.com -> http://example.com https://www.example.com -> https://example.com

我使用了以下重写规则:

<rule name="CanonicalHostNameHttp" stopProcessing="true">
<match url="(.*)" />  
<conditions logicalGrouping="MatchAll" trackAllCaptures="false">
<add input="{HTTP_HOST}" pattern="^example\.com$" negate="true" />
<add input="{HTTPS}" pattern="^OFF$" />
</conditions>
<action type="Redirect" url="http://example.com/{R:1}" />
</rule>

<rule name="Redirect to HTTPS" enabled="true" stopProcessing="true">
<match url="(.*)" />
<conditions logicalGrouping="MatchAll" trackAllCaptures="false">
<add input="{HTTPS}" pattern="^OFF$" />
</conditions>
<action type="Redirect" url="https://{HTTP_HOST}/{R:1}" redirectType="Permanent" />
</rule>

这工作正常:

这失败了:

  • 我输入https://www.example.com
  • 它永远不会重定向到https://example.com
  • 结果它给了我一个证书错误(因为我的证书是 example.com 而不是 www.example.com)

我错过了什么???

4

1 回答 1

1

不如为此处提到的 www.example.com 购买便宜的证书...无效的安全证书和域名 ...然后设置规则以重定向https://www.example.com -> https://例子.com

我目前有类似的问题。问题是我无法安装第二个证书,因为 Amazon EC2 将每个实例限制为一个公共 IP 地址,并且 IP 地址只能绑定到一个证书。我能想到的唯一选择是将我的非规范化域的 DNS 更改为指向另一台服务器,在那里安装第二个证书,然后让它重定向到我的 EC2 实例。

于 2012-02-07T13:46:10.060 回答