2011-07-29 177 views
1

我使用以下网址: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 ..到ipod ..' 是 '标题')

我想写一个规则,将此URL重定向到以下URL

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

请注意,第一个url包含mid和pid,而第二个包含pid和sid。

有人可以帮助我,并指示我的重写规则,将为这种情况下工作?

谢谢。

回答

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 

我不知道如果这是你真正想要的,你还没有完全指定的问题。这条规则也期望中,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] 
+0

感谢您的快速响应,但这是行不通的。我得到404错误 –

+0

您在浏览器中输入的确切URL是什么?即使它不正确,它也不应该导致404错误。 –

+0

此外,地址栏在404页面上显示的URL是什么? –