0
My Rewriteルールで複数のrewritemapルックアップが実行されていないため、その理由がわかりません。ユーザーを新しいURL検索構造にリダイレクトしようとしています。複数の検索パラメータがあり、その理由がわからない場合は、書き換えルールは機能しません。Mod Rewriteで複数のRewriteMapルックアップが実行されない
// Desired mapping examples:
http://www.host.com/search/small => http://www.host.com/search?q=tall
http://www.host.com/search/medium/brown => http://www.host.com/search?q=grande,chocolate
// Rule
RewriteMap searchMap txt:/opt/etc/apache/conf/searchMap.txt
// 1 Search Parameter
RewriteCond ${searchMap:$1|$1} ([^/]*)
RewriteRule "/search/(([^/]*))$" "http://%{HTTP_HOST}/search?q=%1" [NC,R,L]
// 2 Search Parameter
RewriteCond ${searchMap:$1|$1} ([^/]*)/([^/]*)
RewriteRule "/search/(([^/]*)/([^/]*))$" "http://%{HTTP_HOST}/search?q=%1,%2" [NC,R,L]
// 3 Search Parameter
RewriteCond ${searchMap:$1|$1} ([^/]*)/([^/]*)/([^/]*)
RewriteRule "/search/(([^/]*)/([^/]*)/([^/]*))$" "http://%{HTTP_HOST}/search?q=%1,%2,%3" [NC,R,L]
// searchMap.txt
small tall
medium grande
low-fat healthy
low-calorie healthy
brown chocolate
pink strawberry
出力:
http://www.host.com/search/small => http://www.host.com/search?q=tall
http://www.host.com/search/small/brown => http://www.host.com/search?q=small,brown
私の最初の出力が正しくマップされているが、私のもう一つはありません。 Apacheはマッピングを一切行っていません。これが起こっている理由は何ですか?