【发布时间】:2013-08-01 20:37:29
【问题描述】:
好的,说我的博客网站myurl.org 与一个单独的域的链接一样多:
old.myurl.org?oldvar=foo
只有old.myurl.org 不再存在并被new.myurl.org 取代。
如果new.myurl.org 上的查询字符串变量相同,我相信我可以使用以下方法从.htaccess 重写:
RewirteCond %{http_host} ^old.myurl.org$ [NC]
RewriteRule ^(.*)$ new.myurl.org [L,R=301,QSA]
唯一的问题是我还需要将查询字符串 var 从 oldvar 更改为 newvar 并保留它的数据 (foo)。
有很多关于如何以不同方式重写查询字符串变量的示例,但我似乎找不到这种情况的示例。
我需要重写:
old.myurl.org?oldvar=foo
收件人:
new.myurl.org?newvar=foo
编辑
此外,我有几个潜在的查询字符串键值需要考虑,但并不是所有的都会一直存在。
所以我可能需要:
old.myurl.org?oldvar=foo&oldvar2=bar --> new.myurl.org?newvar=foo&newvar2=bar
或
old.myurl.org?oldvar2=bar --> new.myurl.org?newvar2=bar
这甚至可能是不可能的,但在一种情况下,我需要去除部分查询字符串值。所以?oldvar=foo{term} 可能需要变成?newvar=foo
再次感谢!
【问题讨论】:
标签: .htaccess mod-rewrite query-string