Home

Awesome

Nginx url encoding converting module

License

Nginx url encoding converting module

Dependencies

Compatibility

Earlier versions is not tested.

Installation

  1. Clone the git repository.
shell> git clone git://github.com/vozlt/nginx-module-url.git
  1. Add the module to the build configuration by adding --add-module=/path/to/nginx-module-url

  2. Build the nginx binary.

  3. Install the nginx binary.

Synopsis

http {
    url_encoding_convert               on;
    url_encoding_convert_from          utf-8;
    url_encoding_convert_to            euc-kr;
}

Description

This is an Nginx module that converts the encoding of characters in requested uri into user defined encoding(charset). That is to convert uri to user defined encoding before accessing a file of the uri. This module does work, if the requested file does not exist. For example, nginx's configuration is as above, if the server's file name is "한글.txt" encoded to euc-kr and client's requested uri is "/한글.txt" encoded to utf-8 and the requested uri is changed to euc-kr by the module before access to the file to generate content. This module's working phase can be changed according to the directive url_encoding_convert_phase's option.

Directives

url_encoding_convert

--
Syntaxurl_encoding_convert [on|off]
Default-
Contexthttp, server, location

Description: The module working's enable or disable.

url_encoding_convert_from

--
Syntaxurl_encoding_convert_from <charset>
Defaultutf-8
Contexthttp, server, location

Description: The encoding charset from client.

url_encoding_convert_to

--
Syntaxurl_encoding_convert_to <charset>
Defaulteuc-kr
Contexthttp, server, location

Description: The encoding charset from server.

url_encoding_convert_phase

--
Syntaxurl_encoding_convert_phase [post_read|preaccess]
Defaultpreaccess
Contexthttp, server, location

Description: The module's working phase.

The following values are available when using this directive:

url_encoding_convert_alloc_size

--
Syntaxurl_encoding_convert_alloc_size <buffer_size>
Default0
Contexthttp, server, location

Description: The iconv output buffer size(bytes).

url_encoding_convert_alloc_size_x

--
Syntaxurl_encoding_convert_alloc_size_x [x4-x16]
Defaultx4
Contexthttp, server, location

Description: The iconv output buffer size will be multiplied. The value will be multiplied by the length of the requested uri.

If has been set to both url_encoding_convert_alloc_size and url_encoding_convert_alloc_size_x(multiplied by uri.len), set the larger value of the two.

Author

YoungJoo.Kim(김영주) [vozltx@gmail.com]