URLをチェックする書き換えルールが欲しい。条件で開始する必要があり、拡張はありません。
これは私がこれまでに作成したルールです。
RewriteRule ^admin/?(.*)$ admin/index.php?rt=$1&%{QUERY_STRING} [L,QSA]
拡張子が.htmlのすべてに適用される2番目のルールがあります。したがって、何らかの理由でこれを行う場合は、http://domain.com/admin/page-to-test.htmlを2番目のルールに適用し、最初のルールと一致させないようにします。私も試してみました:
RewriteRule ^admin/?(.*)(!\.html)$ admin/index.php?rt=$1&%{QUERY_STRING} [L,QSA]
しかし、それもうまくいきませんでした。admin(オプションのスラッシュ)で始まり、拡張子はありません。
編集:RewriteRulesを変更しましたが、機能します。したがって、ルールが一致すると、Lのために停止します。それ以外の場合は、機能する他のルールを見つけようとします。Lをルールの範囲外にしないと、すべてのルールがチェックされ、問題が発生する可能性があります。
合計:
RewriteRule ^(.*).html$ index.php?rt=$1&%{QUERY_STRING} [L,QSA]
RewriteRule ^admin/?(.*)$ admin/index.php?rt=$1&%{QUERY_STRING} [L,QSA]