-1

name1=value&name2=value2 の代わりに「/」で区切られた名前/値のペアを追加できる動的ルールを作成するには、助けが必要です

例えば

http://www.example.com/jeans.html?color=24&manufacturer=3 http://www.example.com/jeans/color/black/manufacturer/jonh-miller.html

&

http://www.example.com/jeans.html?color=24&manufacturer=3&size=1 http://www.example.com/jeans/color/black/manufacturer/jonh-miller/size/xl.html

等々。誰かが私にいくつかの良いドキュメントを教えてもらえますか?

ありがとう

4

1 に答える 1

1

RewriteMap を使用する

http://httpd.apache.org/docs/current/mod/mod_rewrite.html#rewritemap

最初にパラメーターを一致させてから、マップを使用する必要があります。次に例を示します。

RewriteMap my_redir_map1 txt:map_rewrite.txt
RewriteMap my_redir_map2 txt:map_rewrite.txt

RewriteCond %{QUERY_STRING} ^.*(\bcolor\b=(\w+|&\w+;)+)
RewriteCond %{QUERY_STRING} ^.*(\bmanufacturer\b=(\w+|&\w+;)+)
RewriteRule ^/([^/\.]+).html /$1/color/${my_redir_map1:%1}/manufacturer/${my_redir_map2:%2}.html  [L]

これは次のケースに一致する必要があります。

http://www.example.com/jeans.html?color=24&manufacturer=3

それを次のように書き換えます。

http://www.example.com/jeans/color/black/manufacturer/jonh-miller.html

注: このソリューションでは、各パラメーターのマップと各最終パスの書き換えが必要です。

于 2013-01-07T13:39:43.110 に答える