2012-04-19 5 views
1

現在私はwebshopの新しいURL構造を実装しています。新しいURL構造は、検索エンジンに対してより最適化されている必要があります。私たちはまた、古い構造がまだ機能していて、301を使用して新しい構造にリダイレクトすることを望んでいます。Spring URLマッピングの競合

問題は次のとおりです。新しい構造が古いURLと競合することがあります。古いURLマッピングの

例:

@RequestMapping(value = "/brand/{categoryCode}/{categoryName}/{brandGroup}.do", method = RequestMethod.GET) 

新構造:

@RequestMapping(value = "/brand/{brandGroup}/{superCategoryName}/{categoryName}.do", method = RequestMethod.GET) 

は、URLのは、同じ値の量を持って見ることができるので、古いマッピングは、新しいものをキャッチしますとおよびその逆。

これを修正するにはどうすればよいですか?古いURLを新しいURL構造に書き換えるには、urlフィルタを使用しますか?

答えて

3

URL router in Spring MVCを使用できます。アプリ内で矛盾するルートを定義し、ルートのプリオリ(要求の勝利に合わせるための最初のルート)でそれらを処理し、要求の一致を絞り込むことができます。

あなたのルートの設定ファイルは次のようになります。桶

GET /brand/{<[0-9]+>categoryCode}/{categoryName}/{brandGroup}.do oldcontroller.oldAction 
GET /brand/{<[a-zA-Z]+>brandGroup}/{superCategoryName}/{categoryName}.do newController.newAction 
+0

、私はこの1つをしようとします。 Thx –

+0

私たちはSpring 3.0.xを使用していますので、このatmは使用できません。 –

+0

0.6バージョンは3.0.x互換です。そして生産は承認されました。 https://github.com/bclozel/springmvc-router/tree/springmvc-router-0.6を確認してください。 –

関連する問題