Windows で isapi_rewrite を使用してきましたが、Linux / Apache に移行したいと考えており、既存のルールを変換する際に問題が発生しました。私は次のURLを書き換えた後です:
訪問者/提供されたサンプル URL: *.php/param1/value1/param2/value/2/param3/value3/paramx/valuex
一致するもの:whatever.php?value1=param1¶m2=value2¶m3=value3¶mx=valuex
以前、isapi_rewrite で次のルールを使用していました。
RewriteEngine on
RewriteRule ^(.*?\.php)/([^/]*)/([^/]*)(/.+)? $1$4?$2=$3 [NC,LP,QSA]
しかし、LP (ループ) は Apache の mod_rewrite フラグではなく、このルールを mod_rewrite の適切なルールに置き換える方法がわかりません。
主なことは、パラメータ/値の数が不明であるため、?、&、および = をすべて / に置き換える必要があることです。パラメータとファイル名を削除することでパターンをよりきれいにすることができたことに感謝しますが、本当にやりたいことは、アプリケーションがリンクを参照する方法を変更する前に、アプリケーションを Linux に移行して動作させることです。
うまくいけばありがとう...