首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在nginx web服务器中将重写规则中的大写字母转换为小写字母?

如何在nginx web服务器中将重写规则中的大写字母转换为小写字母?
EN

Stack Overflow用户
提问于 2010-09-08 16:47:00
回答 4查看 27.8K关注 0票数 30

我需要转换地址:

www.example.com/TEST -> www.example.com/test

EN

回答 4

Stack Overflow用户

发布于 2012-06-23 23:46:23

是的,您将需要perl。如果您使用的是Ubuntu,而不是apt-get install nginx-full,请使用apt-get install nginx-extras,它将包含嵌入式perl模块。然后,在您的配置文件中:

代码语言:javascript
复制
  http {
  ...
    # Include the perl module
    perl_modules perl/lib;
    ...
    # Define this function
    perl_set $uri_lowercase 'sub {
      my $r = shift;
      my $uri = $r->uri;
      $uri = lc($uri);
      return $uri;
    }';
    ...
    server {
    ...
      # As your first location entry, tell nginx to rewrite your uri,
      # if the path contains uppercase characters
      location ~ [A-Z] {
        rewrite ^(.*)$ $scheme://$host$uri_lowercase;
      }
    ...
票数 19
EN

Stack Overflow用户

发布于 2015-06-02 05:06:48

代码语言:javascript
复制
location /dupa/ {
    set_by_lua $request_uri_low "return ngx.arg[1]:lower()" $request_uri;
    rewrite ^ https://$host$request_uri_low;
}
票数 10
EN

Stack Overflow用户

发布于 2011-06-16 18:55:32

我设法使用嵌入式perl实现了这个目标:

代码语言:javascript
复制
location ~ [A-Z] {
  perl 'sub { my $r = shift; $r->internal_redirect(lc($r->uri)); }';
}
票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3666003

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档