Apache mod_rewrite规则

时间:2011-07-29 06:59:16

标签: apache mod-rewrite

我使用以下网址:

http://hostname/Numark-iDJ-Live-DJ-software-controller-for-iPad-iPhone-or-iPod/product/?mid=1&pid=B004JPPO94&src=hmb_numark

(另外,'Numark .. to ipod ..'是'标题')

我想写一条规则将此网址重定向到以下网址

http://hostname/product/?sid=1&pid=B004JPPO94&title=Numark-iDJ-Live-DJ-software-controller-for-iPad-iPhone-or-iPod&src=hmb_numark

注意第一个网址包含mid和pid,而第二个网址包含pid和sid。

有人可以帮助我,并指导我采用适用于此案例的重写规则吗?

谢谢。

1 个答案:

答案 0 :(得分:2)

旧网址:

http://hostname/Numark-iDJ-Live-DJ-software-controller-for-iPad-iPhone-or-iPod/product/?mid=1&pid=B004JPPO94&src=hmb_numark

新网址:

http://hostname/product/?sid=1&pid=B004JPPO94&title=Numark-iDJ-Live-DJ-software-controller-for-iPad-iPhone-or-iPod&src=hmb_numark

我不知道这是否是你真正想要的,因为你没有完全指明这个问题。此规则还要求mid,pid和src都存在于URL和给定的顺序中。

RewriteEngine On
RewriteCond %{QUERY_STRING} mid=(.*)&pid=(.*)&src=(.*)
RewriteRule (.*)/product/ product/?sid=%1&pid=%2&title=$1&src=%3 [R=301,L]