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>
  • 相关阅读:
    webshell
    FireFox与IE开发上的一些区别
    面向对象的Jscript(顶)
    CSS背景属性
    [转]javascript中style.left和offsetLeft的使用
    BLOG排版小窍门
    面向对象的JavaScript编程
    Js脚本:动态添加HTML自定义属性以及处理html元素的自定义属性(兼容Firefox和IE)
    lookupedit 设置选项值
    comboboxEdit 不能输入,只能选择
  • 原文地址:https://www.cnblogs.com/lizhanglong/p/7940309.html
Copyright © 2011-2022 走看看