如何使用动态 URL 进行 301 重定向并为新 URL 保留一些价值
Posted
技术标签:
【中文标题】如何使用动态 URL 进行 301 重定向并为新 URL 保留一些价值【英文标题】:How to do 301 redirect with Dynamic URL and keep some value to new url 【发布时间】:2015-09-10 04:35:42 【问题描述】:我在使用动态 URL 进行 301 重定向时遇到问题。我想将任何具有“pageId=xxxxxxxxx”的 URL 重定向到在新 URL 末尾附加“pageId=xxxxxxxxx”的新 URL。
例如,旧网址是
abc.co.uk/level1/level2/knife/page/190011770?temp=submitview&pageId=190011770&layout=1column
到新网址:
abc.co.uk/review?pageId=190011770
我尝试编写如下两条规则的重定向规则:
RewriteRule ^pageId=(.*)$ http://abc.co.uk/review?pageId=$1 [R=301,L]
和
RewriteCond %QUERY_STRING ^pageId=[0-9]*$
RewriteRule ^(.*)$ http://abc.co.uk/review?pageId=$1? [L,R=301]
但它们都不起作用。我得到了 HTTP 代码 200 而不是 301
请帮帮我。
【问题讨论】:
【参考方案1】:为确保您没有重定向循环,您必须确保 URI 尚未“review”:
RewriteEngine On
RewriteCond %QUERY_STRING (^|&)pageId=([0-9]+)(&|$)
RewriteRule ^(?!review)(.*) /review?pageId=%2 [NC,R,L]
【讨论】:
以上是关于如何使用动态 URL 进行 301 重定向并为新 URL 保留一些价值的主要内容,如果未能解决你的问题,请参考以下文章