What is simplest way to convert Request-URI to lowercase?

Hello,

We are using nginx heavily. We need to rewrite all request URIs
into lowercase, e.g,

http://foo.bar/ThiS_will_be_Rewritten/?q=Foobar

will be translated into

http://foo.bar/this_will_be_rewritten/?q=foobar

I know some modules (Perl, Lua) can do this. My question is
what the simplest way (module) to do that, because Perl/Lua
seems to be overkill here :wink:

Thank you very much.


I am … 5.5 dog years old.

On Fri, Aug 30, 2013 at 04:03:31PM +0700, Anh K. Huynh wrote:

Hi there,

We are using nginx heavily. We need to rewrite all request URIs
into lowercase, e.g,

http://foo.bar/ThiS_will_be_Rewritten/?q=Foobar

will be translated into

http://foo.bar/this_will_be_rewritten/?q=foobar

Why?

Depending on the answer, it may be more appropriate for your back-end
processor to do the conversion instead of nginx.

(Note: this isn’t “please justify your needs”; this is “have you
considered the possible alternatives”.)

If it turns out that nginx is the correct place to do this conversion,
then…

I know some modules (Perl, Lua) can do this. My question is
what the simplest way (module) to do that, because Perl/Lua
seems to be overkill here :wink:

The simplest module is the one that you (arrange to) write that does
exactly what you want and no more.

There doesn’t appear to be a default-distributed module that does that.

You may be able to use or adapt the module named “Lower Upper Case”
listed at http://wiki.nginx.org/3rdPartyModules to do what you want.

There are the general-purpose embedded language modules that you could
use – you have to decide whether the run-time “overkill” overhead
is more important that your build-time overhead to get the dedicated
module written.

f

Francis D. [email protected]