2010-08-23 204 views
1

我试着做301从这个地址重定向: /web/8888/nsf/sbs.py?&_ID=9884&did=3025&PF=14&G=9884&SM=9884&lang=HE&_UserReference=956357C53FD2C8024C725EE5Apache的重定向301失败,参数

到这个地址: /?page=product&p_id=9884

的9884值是动态值总是别人不

我尝试使用:

Redirect 301 "/web/8888/nsf/sbs.py?&_ID=9884&did=3025&PF=14&G=9884&SM=9884&lang=HE&_UserReference=956357C53FD2C8024C725EE5" /?page=product&p_id=9884 

有人可以帮我解决这个问题吗?

回答

1

问题是Redirect在执行匹配时不检查查询字符串。相反,您需要使用mod_rewrite来执行重定向。

牢记这一点,从您的示例网址,这听起来像你想是这样的:

RewriteEngine On 

# Check if the path part matches the URLs we want to redirect 
# If so, check if the query string contains an ID 
# If we find an ID, redirect to the correct product page with that ID number 
RewriteCond %{QUERY_STRING} (\A|&)_ID=([0-9]+) 
RewriteRule ^web/8888/nsf/sbs\.py$ /?page=product&p_id=%2 [R=301,L]