Skip to content

nginx-modules/nginx-module-url

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Nginx url encoding converting module

License

Nginx url encoding converting module

Dependencies

Compatibility

  • 1.7.x (last tested: 1.7.8)
  • 1.6.x (last tested: 1.6.2)

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

  • | - --- | --- Syntax | url_encoding_convert_from [on|off] Default | - Context | http, server, location

Description: The module working's enable or disable.

url_encoding_convert_from

  • | - --- | --- Syntax | url_encoding_convert_from <charset> Default | utf-8 Context | http, server, location

Description: The encoding charset from client.

url_encoding_convert_to

  • | - --- | --- Syntax | url_encoding_convert_to <charset> Default | euc-kr Context | http, server, location

Description: The encoding charset from server.

url_encoding_convert_phase

  • | - --- | --- Syntax | url_encoding_convert_phase [post_read|preaccess] Default | preaccess Context | http, server, location

Description: The module's working phase.

The following values are available when using this directive:

  • post_read
  • It works before nginx-rewrite-module.
  • preaccess
  • It works after nginx-rewrite-module.

url_encoding_convert_alloc_size

  • | - --- | --- Syntax | url_encoding_convert_alloc_size <buffer_size> Default | 0 Context | http, server, location

Description: The iconv output buffer size(bytes).

url_encoding_convert_alloc_size_x

  • | - --- | --- Syntax | url_encoding_convert_alloc_size_x [x4-x16] Default | x4 Context | http, 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(김영주) [vozlt@vozlt.com]

About

Nginx url encoding converting module

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 100.0%