(mod)重写无序参数

时间:2013-09-19 17:56:05

标签: apache mod-rewrite

是否可以在URL中重写并非总是以相同顺序的参数?

例如,我们可能有一个像

这样的网址

/products/type/animal/id/123456

但它也可能显示为:


/products/id/ab123456/type/animal

使用像

这样的mod重写语句

/products[.html?]?(?:/id/([^/])?)/?(?:/type/([^/])?)/? "products.html?id=$1&type=$2" [L, NC]

适用于第一个示例,但当然第二个失败。有没有办法解决? 编辑:有多个键/值对(可能是7或8)因此不可能使用通用/([^ /] +)/?/([^ /] +)/类型正则表达式。

1 个答案:

答案 0 :(得分:0)

只需编写与每个可能的源排序相匹配的多个规则!