【发布时间】:2015-07-14 12:02:51
【问题描述】:
我想在 IIS 8.5 中添加正确的 301 永久重定向规则。我添加了以下规则,但它不起作用。
<rule name="Redirect top domains with non-www to www" stopProcessing="true">
<match url="(.*)" />
<conditions logicalGrouping="MatchAll" trackAllCaptures="false">
<add input="{HTTP_HOST}" pattern=".*localhost.*" negate="true" />
<add input="{HTTP_HOST}" pattern=".*stage\..*" negate="true" />
<add input="{HTTP_HOST}" pattern=".*dev\..*" negate="true" />
<add input="{HTTP_HOST}" pattern="^(http:\/\/){0,1}(www\.){0,1}([^\.]+)\.([^\.]+)$" ignoreCase="true" />
</conditions>
<action type="Redirect" url="https://www.{C:3}.{C:4}" redirectType="Permanent" />
</rule>
条件
- 如果 URL 采用 HTTPS 并包含“www”。然后没有重定向。示例:https://www.example.com
- 如果 URL 是 HTTP,那么它应该被重定向到 HTTPS。示例:http://www.example.com 应重定向到 https://www.example.com
- 如果 URL 采用 HTTPS 但不包含“www”。那么它应该被重定向到带有“www”的 HTTPS 站点。字首。示例:https://example.com 应重定向到 https://www.example.com
- 如果 URL 既不包含 HTTPS 也不包含 WWW,则使用“www”重定向到 HTTPS URL。字首。示例:http://example.com 应重定向到 https://www.example.com
总而言之,每个 URL 都应该是 HTTPS 并且应该有“www”。前缀。
注意:我已经在 IIS 中安装了URL Rewrite Module。
谁能帮我实现这个目标?
【问题讨论】:
标签: asp.net redirect iis url-rewriting url-rewrite-module