url 将一个域重写为 https
url rewrite for one domain to https
我有一个 IIS 服务器 运行 站点使用 2 个域,每个域上有多个站点。
我正在尝试编写一个只影响一个站点的 url 重写规则
域名是这个
*.it.test.com
*.test.com
我已经尝试过这个规则,但它似乎不起作用 - 也许我需要一个通配符或 domian 中的其他东西。
我正在尝试访问 it.test.com
的子域
<rule name="Redirect to HTTPS" enabled="true" patternSyntax="Wildcard" stopProcessing="true">
<match url="*" ignoreCase="true" negate="false" />
<conditions logicalGrouping="MatchAll" trackAllCaptures="false">
<add input="{HTTP_HOST}" ignoreCase="true" matchType="Pattern" pattern="^it.test.com$" />
<add input="{HTTPS}" pattern="off" />
</conditions>
<action type="Redirect" url="https://{HTTP_HOST}{REQUEST_URI}" appendQueryString="false" redirectType="Temporary" />
</rule>
一些站点名称可能是这样的
bb.it.test.com
aa.it.test.com
cc.test.com
据我所知,如果选择patternSyntax="Wildcard"
,conditions
中的{HTTP_HOST}
也是使用通配符匹配
所以这就是 pattern="^it.test.com$"
匹配失败的原因。通配符是一种特殊的句子,主要包括(*)和(?)。 以(^)开头,以($)结尾是正则表达式的用法
匹配失败:
即使你改了patternSyntax="regular expressions"
,还是会失败,因为^。 bb.it.test.com
不是以 it
开头,而是以 bb
.
开头
两种解决方案。
- 使用正则表达式并设置
pattern="(.*).it.test.com$"
,但它只匹配bb.it.test.com aa.it.test.com
。 pattern="(.*).test.com$"
将匹配它们。
- 仍然使用通配符,但设置
pattern="*.test.com"
。
我有一个 IIS 服务器 运行 站点使用 2 个域,每个域上有多个站点。 我正在尝试编写一个只影响一个站点的 url 重写规则 域名是这个
*.it.test.com
*.test.com
我已经尝试过这个规则,但它似乎不起作用 - 也许我需要一个通配符或 domian 中的其他东西。
我正在尝试访问 it.test.com
的子域 <rule name="Redirect to HTTPS" enabled="true" patternSyntax="Wildcard" stopProcessing="true">
<match url="*" ignoreCase="true" negate="false" />
<conditions logicalGrouping="MatchAll" trackAllCaptures="false">
<add input="{HTTP_HOST}" ignoreCase="true" matchType="Pattern" pattern="^it.test.com$" />
<add input="{HTTPS}" pattern="off" />
</conditions>
<action type="Redirect" url="https://{HTTP_HOST}{REQUEST_URI}" appendQueryString="false" redirectType="Temporary" />
</rule>
一些站点名称可能是这样的
bb.it.test.com
aa.it.test.com
cc.test.com
据我所知,如果选择patternSyntax="Wildcard"
,conditions
中的{HTTP_HOST}
也是使用通配符匹配
所以这就是 pattern="^it.test.com$"
匹配失败的原因。通配符是一种特殊的句子,主要包括(*)和(?)。 以(^)开头,以($)结尾是正则表达式的用法
匹配失败:
即使你改了patternSyntax="regular expressions"
,还是会失败,因为^。 bb.it.test.com
不是以 it
开头,而是以 bb
.
两种解决方案。
- 使用正则表达式并设置
pattern="(.*).it.test.com$"
,但它只匹配bb.it.test.com aa.it.test.com
。pattern="(.*).test.com$"
将匹配它们。
- 仍然使用通配符,但设置
pattern="*.test.com"
。