2017-11-05 11 views
1

私はサイトを移行し、私のすべての製品URLをトップレベルに持っています。Nginx書き換えルール - すべてのサブフォルダ

例:

旧URL:http://www.example.com/sub/folder/product.asp 旧URL:http://www.example.com/sub1/folder1/product.asp

新URL:http://www.example.com/product.asp

私は私がそれを必要とするどのように動作するようにnginxの書き換えルールを取得するために苦労しています。基本的に* .aspで終わるものは、すべてのフォルダパスを取り除く必要があります。

答えて

0

.aspで終わるURIを特定する必要があります。これらのURIには、複数の/が含まれています。可能な解決策の1つは、

rewrite ^/.+(/[^/]+\.asp)$ $1 permanent; 

this documentを参照してください。

+0

それは....二番目のバックスラッシュ私は行方不明だった。完璧にありがとうございます(申し訳ありませんが、十分な担当者がいないためアップしています) –

+0

リダイレクトルールの数を減らすためにこれを使用しています。つまり、7つのカテゴリに同じ商品があるため、7リダイレクトを追加するのではなく、それをrootにしてから実際の新製品の場所にリダイレクトするだけです。すなわちproduct1a.htmlです。私が今持っているのは、nginxの2ホップリダイレクトとマジェントの2ホップです。私はnginxの1つのサーバー側のリダイレクトを行うことができますので、応答ヘッダーを出力せず、内部でリダイレクトする方法はありますか? –

+0

'permanent '接尾辞を削除することで書き換えを内部リダイレクトに変更することができます。しかし、Magentoが内部リダイレクトを認識しない可能性は非常に高いです。 –

関連する問題