Skip to main content

Parameters

See plugin common configurations for configuration options available to all plugins.

  • uri

    string


    New upstream URI path. Value could be a built-in variable.

  • method

    string

    vaild vaule:

    GET, POST, PUT, HEAD, DELETE, OPTIONS, MKCOL, COPY, MOVE, PROPFIND, LOCK, UNLOCK, PATCH, or TRACE


    HTTP method to rewrite requests to use.

  • regex_uri

    array[string]


    Regular expressions used to match the URI path from client requests and compose a new upstream URI path. When both uri and regex_uri are configured, uri has a higher priority.

    Provide one or more pairs in a flat array. Odd-positioned elements are the match pattern and even-positioned elements are the replacement. The plugin evaluates pairs in order and applies the first match.

    For example, with ["^/test/(.*)/(.*)", "/$1-$2", "^/other/(.*)", "/other"], a request to /test/user/agent is rewritten to /user-agent, and a request to /other/hello is rewritten to /other.

  • set_ngx_uri

    boolean

    default: false


    The parameter is currently only available in API7 Enterprise and will be updated to APISIX soon.

    If false, the value of ngx.var.uri will remain unchanged, preserving the original route uri. If true, ngx.var.uri will be updated to the uri value specified in proxy-rewrite.

  • host

    string


    Set Host request header.

  • headers

    object


    Header actions to be executed. Can be set to objects of action verbs add, remove, and/or set; or an object consisting of headers to be set.

    When multiple action verbs are configured, actions are executed in the order of add, remove, and set.

    • add

      object


      Headers to append to requests. If a header is already present in the request, the header value will be appended. Header value could be set to a constant, one or more built-in variables, or the matched result of regex_uri using variables such as $1-$2-$3.

      A header value can also be an array. Each value is resolved independently and appended as a separate header line in array order. Introduced in API7 Enterprise 3.9.17 and 3.10.4, and APISIX 3.18.0.

    • set

      object


      Headers to set to requests. If a header is already present in the request, the header value will be overwritten. Header value could be set to a constant, one or more built-in variables, or the matched result of regex_uri using variables such as $1-$2-$3.

      A header value can also be an array. Each value is resolved independently, and the array replaces any existing value with separate header lines in array order. Introduced in API7 Enterprise 3.9.17 and 3.10.4, and APISIX 3.18.0.

      Should not be used to set Host.

    • remove

      array[string]


      Headers to remove from requests.

  • use_real_request_uri_unsafe

    boolean

    default: false


    If true, bypass URI normalization and allow for the full original request URI. Enabling this option is considered unsafe.