2016-04-07 12 views
0

私は最近、メインドメインにサブドメインを移動しましたが、私もURL構造を変更しました。メインのドメインに移動するときはNginx:URL構造に関係なくリダイレ​​クト

は、以前私が、私が突出するすべての複雑なURLを削除http://sub.domain.com/companies/my-company-id/year/2012/charts

のようにページを持っていた取得: はrewrite ^/companies/(.*)$ http://www.domain.com/companies/$1 permanent;誰かが行く:私は現在、次のルールを持っている http://www.domain.com/companies/my-company

http://sub.domain.com/companies/my-company/2012/chartsのようなページに彼らがhttp://www,.domain.com/companies/my-company/2012/chartsにリダイレクトし、404

が、私は関係なく、AFTE何のhttp://www,.domain.com/companies/my-company-idへのリダイレクトを強制したいゲットしますr my-company-id

答えて

1

現在、パラメータ$ 1は/ companiesの後に完全なURIを持つため、元のパスにリダイレクトされています。 company-idは$ 1で抽出する必要があります。この 使用:ここで

rewrite ^/companies/(.*)/(.*)$ http://www.domain.com/companies/$1 permanent;

は、会社-IDの後URIの残りの部分は書き換え条件で必要とされていないパラメータ$ 2で利用できるようになります。

+0

私はこの回答を以前に受け入れましたが、実際に私がhttp://sub.domain.com/companies/company-idを押すと何も起こりません。 – bl0b

+0

2つの書き換えルールを置き換えます。 'rewrite ^/companies /(.*)/(.*)$ http://www.domain.com/companies/$1 permanent;両方の条件を処理するために^/companies /(.*)/$ http://www.domain.com/companies/$1 permanent;を書き換えます。最初の書き換えルールはhttp://sub.domain.com/companies/my-company-id/year/2012/chartsに似たURLを処理し、2番目のルールはsub.domain.com/companies/company-chartsのリダイレクトを処理します。 id / – nidhi

関連する問題