如何使用.htaccess将具有多个参数的url重写为新url
我已经将我的网站从asp改写为php。我需要用多个参数重定向一些页面 以下是一些旧url:如何使用.htaccess将具有多个参数的url重写为新url,.htaccess,redirect,.htaccess,Redirect,我已经将我的网站从asp改写为php。我需要用多个参数重定向一些页面 以下是一些旧url: mysite.co.uk/productlist_paged.asp?cid=1&offset=10 mysite.co.uk/productlist_paged.asp?cid=1&offset=20 mysite.co.uk/productlist_paged.asp?cid=1&offset=30 mysite.co.uk/productlist_paged.asp?cid=
mysite.co.uk/productlist_paged.asp?cid=1&offset=10
mysite.co.uk/productlist_paged.asp?cid=1&offset=20
mysite.co.uk/productlist_paged.asp?cid=1&offset=30
mysite.co.uk/productlist_paged.asp?cid=1&offset=40
转到以下新页面:
mysite.co.uk/Compare/Roland-Digital-Pianos/43/1
mysite.co.uk/Compare/Roland-Digital-Pianos/43/2
mysite.co.uk/Compare/Roland-Digital-Pianos/43/3
mysite.co.uk/Compare/Roland-Digital-Pianos/43/4
我希望将数字43保留在重定向之外,因为这是一个在添加/删除产品时会改变的数字。
cid=1等于罗兰数字钢琴,例如offset=10是url末尾的数字1
欢迎任何帮助您可以使用以下内容:
RewriteEngine On
RewriteCond %{QUERY_STRING} cid=1&offset=([0-9]+)0
RewriteRule ^productlist_paged.asp$ /Compare/Roland-Digital-Pianos/43/%1? [R=301,L]
在重写秒的末尾有一个额外的0
,否则,%1
将是10
或20
,而不是1
或2
最后的额外?
删除重定向url中的查询字符串
注意:我没有在RewriteCond
中添加^
和$
,这样您的url就不必以这个QUERY\u字符串开始/结束,即productlist\u paged.asp?test=1&cid=1&offset=10&test2=1
也将适合RewriteCond
并被重定向
希望有帮助 很高兴它成功了!请注意,不可能(或者我不知道如何)处理43
号码问题,因为您不知道,当您的asp url被调用时,它是什么号码。