I would like to rewrite
/category/subcat/cat/page2/orderd/sort1
to
/cgi-bin/script.cgi?cat=category/subcat&page=2&order=d&sort=1
using Apache Rewrite rule.
Conditions:
1) We not necessarily have Query parameters, so we must treat cases when Query parameters are missing.
2) The Query parameter order is not necessarily always the same order.
3) If needed should be possible to enhance with new Query parameters.
4) I would not use external rewrite rule because of speed reasons
First solution was:
RewriteRule ^(.*)/cat/(page|order|sort)([a-zA-Z0-9]+)/(page|order|sort)([a-zA-Z0-9]+)/(page|order|sort)([a-zA-Z0-9]+) /cgi-bin/script\.cgi\?cat=$1&$2=$3&$4=$5&$6=$7
But this doesn't match the Condition nr.1.
Next was this solution:
RewriteRule ^(.*)/cat/(.*)page([0-9]+)(.*) /cgi-bin/apro/view.cgi?cat=$1&page=$3$2$4
RewriteRule ^(.*)/order(a|d)(.*) $1&order=$2$3
RewriteRule ^(.*)/sort([0-9]+)(.*) $1&sort=$2$3
This result match all conditions, but result has bugs in rewrite_log:
rewrite category/subcategory/cat/page2/orderd/sort1 -> /cgi-bin/script.cgi?cat=category/subcategory&page=2/orderd/sort1
rewrite /cgi-bin/script.cgi/page2/orderd/sort1 -> /cgi-bin/script.cgi/page2&order=d/sort1
rewrite /cgi-bin/script.cgi/page2&order=d/sort1/page2/orderd/sort1 -> /cgi-bin/script.cgi/page2&order=d/sort1/page2/orderd&sort=1
Any idea how could be possible to solve the problem?
Thanks in advance,
W33