0

私はnginxを初めて使用し、いくつかのリダイレクトをセットアップする必要があります。Nginxのリダイレクトは正規表現ベースであることは知っていますが、それも私の強みではありません。

最新のコードを起動しています。次のすべてのインスタンスをリダイレクトするもの

https://uat1.lipsum.com/browse
https://uat1.lipsum.com/popular
uat1.lipsum.com/browse/[anything]   
uat1.lipsum.com/popular/[anything]

に...

https://uat1.lipsum.com/discovery
https://uat1.lipsum.com/discovery
uat1.lipsum.com/discovery/[anything]
uat1.lipsum.com/discovery/[anything]

基本的に、「参照」と「人気」のすべての出現を「発見」に置き換えます

私はいくつかの方法を試しました...

私が思いついた最善の方法は次のとおりでした。これは適切にリダイレクトされますが、他の形式はそうではありません.

https://uat1.lipsum.com/browse
https://uat1.lipsum.com/popular

nginx.conf

location /browse/ {
    rewrite ^(.*)/browse/(.*)$ /discover/ permanent;
    }

    location /browse {
    rewrite ^(.*)/browse /discover permanent;
   }

 location /popular/ {
    rewrite ^/popular/ /discover/ permanent;
    }

    location /popular {
    rewrite ^/popular /discover permanent;
   }
}
4

1 に答える 1

3

後方参照の魔法を使用します。()s に正規表現を入れると、一致した表現がキャプチャされ、$1、$2、$3 などを使用して、最初、2 番目、3 番目などのキャプチャされたテキストが取得されます。

location /browse/ {
    rewrite ^/browse/(.*)$ /discover/$1 permanent;
    }

    location /browse {
    rewrite ^/browse$ /discover permanent;
   }

 location /popular/ {
    rewrite ^/popular/(.*)$ /discover/$1 permanent;
    }

    location /popular {
    rewrite ^/popular$ /discover permanent;
   }
}

詳しくはこちらをご覧ください。

于 2012-04-23T17:22:10.610 に答える