�50 2019-08-31 15:56 采纳率: 100%
浏览 822
已采纳

nginx重定向跳转 rewrite规则

http://aa.bb.com/cc/dd/ee/service-center/index.htm?code=xxx
跳转到地址
https://cc.dd.com/ff/fff/service-center/detail.CN.xxx/

其中xxx是变量,要对应起来

nginx重定向怎么写?

  • 写回答

1条回答 默认 最新

  • tanghx999 2019-09-01 05:49
    关注

    只有 XXX 是取的上一个url的? 其他都是不一样的。那你用 $args 获取参数 拼在后面就可以了撒。
    $arg_foo foo则是URL里的参数名,比如你现在用到的code
    所以下面写成 $arg_code

    ~ .*/service-center/index.htm 表示以 service-center/index.htm 结尾的URL
    
    ^/(.*)/(.*)/(.*)/service-center/index.htm$ 每个 (.*) 分别是 $1 $2 $3,此处没用到 $3 也就是 ee
    

    完整loacation

    location ~ .*/service-center/index.htm {
        rewrite ^/(.*)/(.*)/(.*)/service-center/index.htm$ https://$1.$2.com/ff/fff/service-center/detail.CN.$arg_code/ ;
        break;
     }
    

    再复杂可以用 nginx最新版的 ngx_http_js_module 或者 openresty,都可以写复杂逻辑处理。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
编辑
预览

报告相同问题?