0

まず、私はmod rewriteの専門家ではありませんが、リダイレクトする必要のあるURLがあります。

元のURLはcategories.asp?cat1=1&cat2=2&cat3=58&cat4=96

にリダイレクトする必要があります/store/browse/category/TRADITIONAL-BRIDGE-SINK-MIXER/product-details/1901-Traditional-Bridge-Sink-Mixer-NDSMC

明らかに、やるべきことはたくさんあり、それぞれのルールを順番に書くことができてうれしいです。

それが理にかなっていることを願っています。

前もって感謝します。

4

1 に答える 1

0

mod_rewrite だけでなく、もっとやるべきことがあると思います。

最初にこれを達成する必要があります:

  • 各カテゴリと製品のデータベースのどこかに URL 部分を保存できるようにする (おそらく言語に基づく)
  • 具体的な製品まで、各カテゴリのこれらの URL 部分を連結して、製品の URL を表示します。
    • 製品がリンクされているカテゴリのTRADITIONAL-BRIDGE-SINK-MIXERキーワードは、その製品のキーワードは1901-Traditional-Bridge-Sink-Mixer-NDSMC
    • 次に、この URL を生成できます。/store/browse/category/TRADITIONAL-BRIDGE-SINK-MIXER/product-details/1901-Traditional-Bridge-Sink-Mixer-NDSMC
  • 次に .htaccess に次のようなものがあります。
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^store\/browse\/category\/(.*)\/product-details\/(.*)$ product.php?category_id=$1&product_id=$2 [QSA,L] 

カテゴリの場合と同じように、URL/store/browse/category/SINK-MIXER/TRADITIONAL-BRIDGE-SINK-MIXER/1901-Traditional-Bridge-Sink-Mixer-NDSMCの場合は次のようなルールがあります。

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^store\/browse\/category\/(.*)\/(.*)\/(.*)$ categories.php?category1_id=$1&category2_id=$2&category3_id=$3 [QSA,L] 

これは解決策ではありません。これは出発点にすぎません...

于 2012-12-03T14:22:32.157 に答える