0

自動車の e コマース ストアを作成する際に、いくつかの製品にフォワード スラッシュ/Virgules を名前 ("/") に含めて名前を付けました (例: VOLKSWAGEN GOLF/GTI. e コマース エンジンは、この商品の URL を に書き換えますGOLF%7B47%7DGTI。私たちは、すべての製品をスラッシュ/virgule の代わりに「AND」を使用するように言い換えることにしました。

ウェブ上には大量のリンクがあり、製品の命名規則を変更した後もこれらのリンクが引き続き機能するように、常に mod_rewrite を使用しています。しかし、これは私を困惑させました!これが私がやろうとしていることです:

OLD URL: http://mystore.com/products/MK4-GOLF%7B47%7DGTI-KONI-STRUTS.html
NEW URL: http://mystore.com/products/MK4-GOLF-AND-GTI-KONI-STRUTS.html

URL の「MK4」の部分は、Mk1、Mk2、Mk3、Mk4、Mk5、または Mk6 のいずれかであり、ゴルフ/GTI の世代ごとにさまざまなストラットも提供しています。したがって、URL で Golf/GTI を GOLF-AND-GTI に置き換え、ターゲット文字列の前後にあるものをすべて引き継ぐルールを作成する必要がありました。

私の現在の(間違った)RewriteRuleは次のようになります。

RewriteRule ^products/(.*)-GOLF%7B47%7DGTI-(.*) http://www.mystore.com/products/$1-GOLF-AND-GTI-$2 [B,R,L]

私はここ数時間、これについて頭を悩ませてきましたが、作業ルールを適切に設定できないようです. どんな援助でも大歓迎です!

お時間をいただきありがとうございました!

4

1 に答える 1

1

%7B47%7Dデコードすると{47}、次のように URL を書き換えることができます。

RewriteRule ^products/(.*)-GOLF\{47\}GTI-(.*) http://www.mystore.com/products/$1-GOLF-AND-GTI-$2 [B,R=301,L]

また、古い URL を新しい URL に置き換えることを意図しているため、デフォルトの 302 ではなく 301 リダイレクトを使用する必要があります。これは、SEO の観点から永続的な URL の変更を処理するための推奨される方法です。

于 2012-12-05T18:09:42.777 に答える