私のクエリは、キャプチャする正規表現を作成することに関するものです:
- 0 個以上のサブカテゴリ
- 0 または 1 ページング インデックス
- 0 または 1 個の製品 ID
これは、すべてを 1 つのパラメーターとして読み取り、このパラメーターを php に渡すことで簡単に実行できますが、大量のコードとパフォーマンスの低下を意味しますが、htaccess+regex は 1 行のコードでこれを実行します。
例:
catalog/
0 ページから始まるすべての製品を表示します。
catalog/dolls/barbie/malibu/
0 ページから始まるすべてのマリブ バービー人形を表示します
。catalog/dolls/gijoe/p_5/id_99
製品 id_99 を表示します。ただし、ページとカテゴリはナビゲーション リンクとして表示されるように維持されます。
カタログ/人形/p_3
カタログ/人形/バービー/id_456
RewriteRule ^catalog/(([^/:*?"<>|\r\n]*/)*)(id-([0-9]{1,4}+))*$ catalog.php?category=$1&id=$3
このように、catalog/doll/barbie/id-1234/ のような URL で試してみました。ただし、$1 をキャプチャすると doll/barbie/id-1234/ が生成され、id-1234/id-345/id-145/ のようなものは「有効」で 145 を返すため、重複したページで seo の配置が損なわれます。この正規表現はページングを処理しません... 私は RegexBuddy3 を使用しています (非常に便利で、購入する必要があります) が、非常に長い式を扱う場合、apache+httacess は 100% 同じように動作しません。