mysite.com/categoryName/
やなどの URL を処理する URL 書き換えルールを作成しmysite.com/categoryName/productName/
、それらを別のハンドラにルーティングしようとしています。私の .htaccess ファイルで、次を使用する場合:
RewriteRule shop/(.*^/)/$ view.php?mode=category&id=$1
RewriteRule shop/(.*)/(.*)/$ view.php?mode=product&id=$2
製品ページは正しく書き換えられますが、カテゴリ URL は 400 をスローします。
RewriteRule shop/(.*[^/])/$ view.php?mode=category&id=$1
RewriteRule shop/(.*)/(.*)/$ view.php?mode=product&id=$2
逆のことが起こります (カテゴリ ページは表示されますが、製品ページでは 400 秒)。
これが私の RegEx の問題なのか (ほとんどの場合)、いくつかの URL を両方のルールでチェックする必要があるのか、それとも 1 つのルールで両方の書き換えを行う方法があるのか どうかはわかりません。任意の入力をいただければ幸いです。前もって感謝します!