2013-01-07 2 views
-1

мне нужна помощь, чтобы написать динамическое правило, где я могу добавить имя/значение пары, разделенные «/» вместо имя1 = значение & name2 = значение2Htaccess Перепишите для пары имя/значение

например

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: // ш ww.example.com/jeans/color/black/manufacturer/jonh-miller/size/xl.html

и так далее. Может ли кто-нибудь указать мне хорошую документацию?

Благодаря

ответ

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

Пожалуйста, обратите внимание: Это решение должно карту для каждого параметра и переписывание для каждого конечного пути.

Смежные вопросы