2017-08-21 8 views
2

nginxのリダイレクトでは簡単な問題に苦労しています。Nginx:1つのディレクトリを自分自身の下にリダイレクトする必要があります

今d.b.com/example上
server { 
    server_name a.b.com; 
    . 
    . 
    . 
} 

server { 
    server_name d.b.com; 
    . 
    . 
    . 
} 

は、d.b.com/example/rightにリダイレクトする必要があります。

私は2つ(言語ベース)のドメインを持っています。私は以下のような場所を構築しようとしました(さらに、完全なURLを含む多くのバリエーション)。 、

location ^/example { 
    redirect /example /example/right permanent; 
} 

nginxのは構文を使用できますが、私はページを開こうとすると、私はいつも私は、これは単純明快であるべきだと思う404

を得るが、私の脳はちょうどそれを得ることができません私はウェブで解決策を見つけたこともありません。

最大の問題は、(!それをチェックすることさえせずに)エンドユーザーがすでに無効なリンクをお客様に大量のメールを送ったということですので、私は

をWBR ...ビットはハードスケジュールに押されています

ハンク

+0

説明したURL(/example/right/index.*)のようなフォルダ構造を持っていますか?そうでなければ、あなたの 'location ^/example'ブロックに' try_files $ uri $ uri /index.php?$ query_string; 'のようなものを入れ、あなたのコードにルータを実装することをお勧めします。 –

+1

あなたはリダイレクトを設定しましたが、リダイレクトが '/ example/right'に起こったときにそれを扱う他のブロックは何ですか? –

答えて

0

あなたは、単一のURIに一致するようにしようとしている場合は、完全一致location使用:

location = /example { 
    return 301 /example/right; 
} 

はを参照します詳細については、を参照してください。

+0

ありがとう、これはまさに私が探していたものでした:) – hank

関連する問題