zoukankan      html  css  js  c++  java
  • 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>
  • 相关阅读:
    57.适合自己的就是最好的
    45.懂得放弃
    ASP.NET碎知识点
    app性能测试理论基础一篇
    记一次踩坑docker+Jenkins+python3.6.8+gitee
    IT测试人从浓密到稀疏的的发量之路
    一天基本上没什么效率
    如此复杂的心情,如此失落的感觉…
    String.Replace 方法 (String, String)
    《见与不见》原题《班扎古鲁白玛的沉默》 作者:扎西拉姆·多多
  • 原文地址:https://www.cnblogs.com/lizhanglong/p/7940309.html
Copyright © 2011-2022 走看看