• URL Rewrite Module Configuration Reference


    Accessing URL Parts from a Rewrite Rule

    It is important to understand how certain parts of the URL string can be accessed from a rewrite rule.

    For an HTTP URL in this form: http(s)://<host>:<port>/<path>?<querystring>

    • The <path> is matched against the pattern of the rule.
    • The <querystring> is available in the server variable called QUERY_STRING and can be accessed by using a condition within a rule.
    • The <host> is available in the server variable HTTP_HOST and can be accessed by using a condition within a rule.
    • The <port> is available in the server variable SERVER_PORT and can be accessed by using a condition within a rule.
    • Server variables SERVER_PORT_SECURE and HTTPS can be used to determine if a secure connection was used. These server variables can be accessed by using a condition within a rule.
    • The server variable REQUEST_URI can be used to access the entire requested URL path, including the query string.

    For example, if a request was made for this URL: http://www.mysite.com/content/default.aspx?tabid=2&subtabid=3, and a rewrite rule was defined on the site level then:

    • The rule pattern gets the URL string content/default.aspx as an input.
    • The QUERY_STRING server variable contains tabid=2&subtabid=3.
    • The HTTP_HOST server variable contains www.mysite.com.
    • The SERVER_PORT server variable contains 80.
    • The SERVER_PORT_SECURE server variable contains 0 and HTTPS contains OFF.
    • The REQUEST_URI server variable contains /content/default.aspx?tabid=2&subtabid=3.
    • The PATH_INFO server variable contains /content/default.aspx.

    Note that the input URL string passed to a distributed rule is always relative to the location of the Web.config file where the rule is defined. For example, if a request is made for http://www.mysite.com/content/default.aspx?tabid=2&subtabid=3, and a rewrite rule is defined in the /content directory, then the rule gets this URL string default.aspx as an input.

     

    https://docs.microsoft.com/en-us/iis/extensions/url-rewrite-module/url-rewrite-module-configuration-reference

     

     

    以下配置需放在</system.webServer></configuration>

     <rewrite>
                <rules>
                    <rule name="HTTP to HTTPS redirect" stopProcessing="true">
                        <match url="(.*)" />
                        <conditions>
                            <add input="{HTTPS}" pattern="off" />
                        </conditions>
                        <action type="Redirect" url="https://{HTTP_HOST}{REQUEST_URI}" appendQueryString="false" redirectType="SeeOther" />
                    </rule>
                </rules>
            </rewrite>
  • 相关阅读:
    第一篇unity
    C#相关知识小结
    必须知道的八大种排序算法【java实现】
    JAVA八大排序算法
    二进制、八进制、十进制、十六进制之间的转换
    八大排序算法
    JSONArray数据转换成java List
    使用json-lib的JSONObject.toBean( )时碰到的日期属性转换的问题
    一探前端开发中的JS调试技巧
    SpringMVC注解说明
  • 原文地址:https://www.cnblogs.com/lizhanglong/p/7940309.html
Copyright © 2020-2023  润新知