0

ブラウザでxyz.abc.comを開きたいが、内部的に(python-djangoを使用して)これをabc.com/xyzにマップしたい次のnginx confコードは機能しますが、ユーザーをにリダイレクトしたくありませんこの新しいURL(abc.com/xyz)

server {
    listen   80;
    server_name xyz.abc.com;

    location / {
        rewrite ^ http://abc.com/xyz;
        break;
}

proxy_passの使用を含む多くのことを試しましたが、機能しません。どうすればこれを解決できますか?

ありがとう。

4

1 に答える 1

1

任意の第 3 レベル ドメインを第 2 レベルに変換できます。

server {
    listen   80;
    server_name ~^(?<domain>.*)\.abc\.com;

    location / {
        proxy_pass http://abc.com/$domain$request_uri;
        break;
}

あなたの場合、次を試してください:

server {
    listen   80;
    server_name xyz.abc.com;

    location / {
        proxy_pass http://abc.com/xyz$request_uri;
        break;
}

request_uriについて: http://wiki.nginx.org/HttpCoreModule

于 2012-11-02T19:58:18.450 に答える