0

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 に移行して動作させることです。

うまくいけばありがとう...

4

1 に答える 1

1

フラグ「next|N」を使用して、書き換えプロセスをループできます。apache.org の mod_rewrite ドキュメントを参照してください。

于 2011-02-15T17:58:28.073 に答える