私はrewrite_modを使用してWebサービス要求を書き換えています。リクエストのQUERY_STRINGに特定のパラメータが含まれている場合、URLにはいくつかの追加パラメータがあります。これは私の書き換え条件です。また、キーと値のペアを定義するRewriteMapも使用します。 RewriteCondが一致すると、キーの値が書き換えられたURLに追加されます。RewriteRuleがRewriteMapキーと一致しない場合、元のリクエストURLをデフォルト値として取得するにはどうすればよいですか?
すべてうまくいきましたが、RewriteMapがRewriteMapファイルでキーを見つけることができない場合に備えて、RewriteRuleの置き換えにデフォルト値を追加します。 RewriteRuleの構文は${ MapName : LookupKey | DefaultValue }
のようになります。 Look-up-Keyが見つからない場合は、代わりにDefaultValueが使用されます。
キーが見つからない場合、元のリクエストURLが使用され、置換は行われません。
私の最初のアプローチは、${MapName:$1|http://%{HTTP_HOST}%{REQUEST_URI}?{QUERY_STRING}}
または${MapName:$1|http://%{HTTP_HOST}%{REQUEST_URI}}
を使用することでしたが、どれも機能しませんでした。私は|
の後にDefaultValueとして何を入れるべきか分からない。