0

mod_rewriteApache で使用すると、奇妙な動作に遭遇しました。現在のRewriteRules外観は次のとおりです。

RewriteRule ^(.*)/collections/(.*)/(.*)/?$ bootstrap.php?controller=category&user=$1&collection=$2&category=$3 [L]
RewriteRule ^(.*)/collections/(.*)/?$ bootstrap.php?controller=collection&user=$1&collection=$2 [L]

上記のルールに対する私の期待は、次のような URL にアクセスするとコントローラーに移動する必要がある一方でdomain.com/BenM/collections/0/1/、コントローラーに移動する必要があるということです。categorydomain.com/BenM/collections/0/collection

現時点では、両方の URL 構造が に書き換えられbootstrap.php?controller=category...ます。

私の理解では、[L]フラグが指定されている場合、Apache はそれ以上検索せずに書き換えを実行します。

私はこれを打ち負かすことができないので、誰かがここで正しい方向を指し示すことができます...上で説明した機能を実現するために、書き換えはどのように見えるべきですか?

4

1 に答える 1