Nginx配置位置正则表达式与语言代码在URL中

时间:2015-11-24 10:57:47

标签: regex url nginx url-rewriting rewrite

尝试使用nginx正则表达式位置配置在url的第1段中实现常量语言代码,但无法找到正确的语法。

必要的结果:

  • example.com留下example.com
  • example.com/en stay example.com/en
  • example.com/en/ stay example.com/en或example.com/en/(不在乎)
  • example.com/en/etc留下example.com/en/etc

  • example.com/etc更改为example.com/en/etc
  • example.com/etc/segment对example.com/en/etc/segment的更改



    目前我已经找到了这个代码,但它仍然停留在某个地方。它会产生永久循环,并且不会使用$ 1参数。

    location ~ "^/(?![a-z]{2}/)(.+)$" {
        rewrite / /en/$1 permanent;
    }
    
    #Using handler here for removing index.php in uri (example.com/index.php -> example.com);
    location / {
        index index.htm index.html index.php;
        try_files $uri $uri/ @handler;
    }
    
    location @handler {
        rewrite / /index.php?$query_string;
    }
    



更新: 答案可以在这个问题中找到:https://stackoverflow.com/a/33913261/2662849

0 个答案:

没有答案