一个字母的 Nginx 位置

谢尔盖·科兹洛夫

如何正确制作位置重写查询类型:

要求:

site.com/a/?f=qwerty 

改写为:

/a/?f=qwerty

要求:

site.com/b/?g=qwerty

改写为:

/b/?g=qwerty

要求:

site.com/anyshorttext/?h=qwerty 

改写为:

/special/?h=qwerty

我应用了这些解决方案:

server {

        location ~ /a/?(.*)$ {

            rewrite ^/([-\w]+) /a/?m=$1 break;

            index  index.php index.html index.htm;
                try_files $uri $uri/ =404;

                location ~ \.php$ {
                        include snippets/fastcgi-php.conf;
                        fastcgi_pass unix:/run/php/php7.1-fpm.sock;
                }
        }

        location ~ /b/?(.*)$ {

            rewrite ^/([-\w]+) /b/?m=$1 break;

            index  index.php index.html index.htm;
                try_files $uri $uri/ =404;

                location ~ \.php$ {
                        include snippets/fastcgi-php.conf;
                        fastcgi_pass unix:/run/php/php7.1-fpm.sock;
                }
        }

        location ~* ^/[a-zA-Z0-9/_$/]+$ {

            rewrite ^/([-\w]+) /special/?h=$1 break;

            index  index.php index.html index.htm;
                try_files $uri $uri/ =404;

                location ~ \.php$ {
                    include snippets/fastcgi-php.conf;
                    fastcgi_pass unix:/run/php/php7.1-fpm.sock;
                }
        }
  }

但是,在这种情况下,请求转发到/特/

谢谢你。

科尔·蒂尔尼

您的示例意味着查询字符串不会因每种情况而改变。如果是这样,您可以尝试以下操作:

map $uri $special_query {
    # $special_query will be true, for paths like: //site.com/xyz/?stuff
    ~^/[^/]+/$ $query_string;
}

server {
    location / {
        if ($special_query) {
            return 301 "/special/?$query_string";
        }
    }

    # these locations will override the default / location
    location = /a/ {}
    location = /b/ {}
    location = /special/ {}
}

此解决方案既不使用正则表达式位置,也不重写这两者,这两者都会给您的配置增加不必要的复杂性并破坏自然的 nginx 流程。(参见 nginx 作者 Igor Sysoev 的可扩展配置:https : //www.youtube.com/watch?v= YWRYbLKsS0I

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在D3中,如何使用变换旋转布置一个字母的位置后旋转一个字母?

来自分类Dev

Prolog将列表中的特定字母复制到同一位置的另一个字母

来自分类Dev

.Split()放在一个位置而不是一个字符上?

来自分类Dev

重写Nginx剪切最后一个位置

来自分类Dev

取一个字符串,反转每个单词中的字母,同时将单词保留在其原始位置

来自分类Dev

一次不知道其位置匹配一个字符

来自分类Dev

查找特定字符串的实例以及下一个字符串的前2个字母,并在php中切换它们的位置

来自分类Dev

Excel VBA:如果我们知道字符串中第一个和最后一个字母的位置,则如何提取子字符串

来自分类Dev

如何获取磁盘上文件的第一个字节的位置?

来自分类Dev

从指定位置获取一个字符

来自分类Dev

为什么每次每次最后一个字符的位置都返回GetCharIndexFromPosition?

来自分类Dev

Bash-如何获取位置参数的最后一个字符?

来自分类Dev

在PostgreSQL中的特定位置插入一个字符串

来自分类Dev

如何获取字符串中最后一个字符的位置?

来自分类Dev

在某个位置打开文件并以bash读取一个字节

来自分类Dev

sed提取第一个字段并移至特定位置

来自分类Dev

在第N个位置替换一个字符

来自分类Dev

给定一个字符串的索引位置,如何得到完整的句子?

来自分类Dev

使用mac终端在CSV特定列的N位置添加一个字符

来自分类Dev

在每个位置拆分一个字符串 c#

来自分类Dev

如何在另一个字符串的x位置插入一个字符串?

来自分类Dev

JavaScript获取字符串在另一个字符串中的最后一个字符的位置

来自分类Dev

查找与NSString中另一个字符的位置有关的字符的位置

来自分类Dev

SQL SERVER,使用 patIndex 查找另一个字符位置左侧的字符位置

来自分类Dev

查找字符串中所有索引,然后使用索引编辑Hangman Game中另一个字符串中那些位置的字母的最佳方法

来自分类Dev

一次在字符串的多个位置插入一个字符

来自分类Dev

Nginx-特定位置的另一个根

来自分类Dev

如何配置Nginx为匹配模式的所有位置始终提供一个静态文件?

来自分类Dev

Nginx-特定位置的另一个根

Related 相关文章

  1. 1

    在D3中,如何使用变换旋转布置一个字母的位置后旋转一个字母?

  2. 2

    Prolog将列表中的特定字母复制到同一位置的另一个字母

  3. 3

    .Split()放在一个位置而不是一个字符上?

  4. 4

    重写Nginx剪切最后一个位置

  5. 5

    取一个字符串,反转每个单词中的字母,同时将单词保留在其原始位置

  6. 6

    一次不知道其位置匹配一个字符

  7. 7

    查找特定字符串的实例以及下一个字符串的前2个字母,并在php中切换它们的位置

  8. 8

    Excel VBA:如果我们知道字符串中第一个和最后一个字母的位置,则如何提取子字符串

  9. 9

    如何获取磁盘上文件的第一个字节的位置?

  10. 10

    从指定位置获取一个字符

  11. 11

    为什么每次每次最后一个字符的位置都返回GetCharIndexFromPosition?

  12. 12

    Bash-如何获取位置参数的最后一个字符?

  13. 13

    在PostgreSQL中的特定位置插入一个字符串

  14. 14

    如何获取字符串中最后一个字符的位置?

  15. 15

    在某个位置打开文件并以bash读取一个字节

  16. 16

    sed提取第一个字段并移至特定位置

  17. 17

    在第N个位置替换一个字符

  18. 18

    给定一个字符串的索引位置,如何得到完整的句子?

  19. 19

    使用mac终端在CSV特定列的N位置添加一个字符

  20. 20

    在每个位置拆分一个字符串 c#

  21. 21

    如何在另一个字符串的x位置插入一个字符串?

  22. 22

    JavaScript获取字符串在另一个字符串中的最后一个字符的位置

  23. 23

    查找与NSString中另一个字符的位置有关的字符的位置

  24. 24

    SQL SERVER,使用 patIndex 查找另一个字符位置左侧的字符位置

  25. 25

    查找字符串中所有索引,然后使用索引编辑Hangman Game中另一个字符串中那些位置的字母的最佳方法

  26. 26

    一次在字符串的多个位置插入一个字符

  27. 27

    Nginx-特定位置的另一个根

  28. 28

    如何配置Nginx为匹配模式的所有位置始终提供一个静态文件?

  29. 29

    Nginx-特定位置的另一个根

热门标签

归档