Pau*_*aul 13 asp.net redirect web-config
我有一个web.config文件,可以自动将流量发送到HTTPS.但是,如果有人进入MyDomain.com,那么它将转到https://mydomain.com,如果有人进入www.mydomain.com,那么它将转到https://www.mydomain.com.
我希望所有流量都转到https://www.mydomain.com.这可以使用web.config的rules元素吗?我的文件目前看起来像这样:
<rewrite>
<rules>
<rule name="HTTP to HTTPS redirect" stopProcessing="true">
<match url="(.*)" />
<conditions>
<add input="{HTTPS}" pattern="off" ignoreCase="true" />
</conditions>
<action type="Redirect" redirectType="Found" url="https://{HTTP_HOST}/{R:1}" />
</rule>
</rules>
Run Code Online (Sandbox Code Playgroud)
Mar*_*ker 23
<rule name="Redirect to www subdomain">
<match url=".*" />
<conditions logicalGrouping="MatchAll">
<add input="{HTTP_HOST}" pattern="^(www\.)(.*)$" negate="true" />
<add input="{SERVER_PROTOCOL}" pattern="^(.*)(/.*)?$"/>
</conditions>
<action type="Redirect" url="{C:1}://www.{HTTP_HOST}/{R:0}" redirectType="Permanent"/>
</rule>
Run Code Online (Sandbox Code Playgroud)
<match />
将规则限制为仅路径和查询字符串与给定模式匹配的请求.在我们的例子中,我们希望匹配所有路径和查询字符串,因为我们将基于域重定向.
<conditions />
将规则进一步限制为仅满足给定条件的匹配请求.第一个条件排除其域已经以"www"开头的请求.第二个条件是只有{C:1}反向引用,它不应该过滤掉任何东西.
<action>
预先设置"www." 到域然后重定向.
{R:0}
是对<match \>
标记完全匹配的反向引用.后引用应该只包含路径和查询字符串,因为这是所有<match \>
匹配的.
{C:1}
是从最终条件开始的第一个匹配组的反向引用.这应该包含{SERVER_PROTOCOL}变量中"/"的所有内容.
{HTTP_HOST}
是包含请求的域的服务器变量.(有关完整列表,请参见此处.)
{SERVER_PROTOCOL}
另一个服务器变量 其格式应为"{protocol}/{version number}".
<action redirectType>
可以是临时的,发现的或看到的.(有关详细信息,请参阅此处.)
<conditions logicalGrouping>
可以是MatchAll或MatchAny.
有关更完整的说明,请参阅此处.
归档时间: |
|
查看次数: |
14831 次 |
最近记录: |