2016-06-22 7 views
1

私は18言語に翻訳されたウェブサイトを持っています。いくつかの言語は同じです(ブラジル人はポルトガル語です)。だから私は、奇妙なコンテンツを回避するためにBRからPTにリダイレクトしたい/some_domain/br/...から - >/some_domain/pt/...NGINXで301リダイレクトを使用できない

私は1つのドメインから別の単一リダイレクトを書くことができます。このような何か:

location = /user/unique { 
     return 301 http://www.usgreencardoffice.com/blog/the-american-dream; 
    } 

私は次のことを達成したい: domain.com/br/something - >domain.com/pt/something

しかし、言語のリダイレクトのために、私は見当がつかない。どうすればこれを達成できますか?

+0

[こちら](http://stackoverflow.com/questions/3657614/how-to-rewrite-location-in-nginx-depending-on-the-client-browsers-language)投稿が問題の解決に役立つ可能性があります –

+0

このポストはもう一つの問題です。これはプロジェクトから直接ルーティングすることで解決できます。 –

答えて

1

言語コードは、URIの先頭にある場合、接頭辞の場所は、効率的なソリューションとなります。

location ^~ /br/ { 
    rewrite ^/br(.*)$ /pt$1 permanent; 
} 

^~修飾子は、このプレフィックスの場所が同じレベルで正規表現の場所より優先されますことができます。 permanentlastに変更すると、書き換えは内部的になり、ユーザーには見えなくなります。

詳しくは、thisおよびthisを参照してください。

+0

素晴らしい!問題は解決された!詳細をありがとう。 –

関連する問題