我尝试从此地址进行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
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
有人可以帮我解决这个问题吗?
答案 0 :(得分: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]